1.建立資料庫
    create database 資料庫名稱;
  建立資料庫並設定編碼
    create database 資料庫名稱 default character set 編碼方式;

2.列出所有資料庫
    show databases;

3.刪除資料庫

    drop database 資料庫名稱;

4.使用資料庫
    use database 資料庫名稱;

5.建立資料表
    create table 資料表名稱(
        sn integer auto_increment primary key,  //建立自動增量主鍵
    name char(20) NOT NULL DEFAULT ' ',
    mail char(50) NOT NULL auto_increment,
    home char(50),
    messages char(50),
    primary key(name),//建立主鍵
    foreign key(自己的欄位) references 要對應到的資料表名稱(欄位));//建立外鍵

    **auto_increment 自動+1
    **default ' '    預設為空白
    **NOT NULL       不使用NULL

6.列出資料表欄位資訊
    a. describe 資料表名稱;
    b. explain  資料表名稱;

7.刪除資料表
       drop  table 資料表名稱;
8.新增資料表欄位
    alter table 資料表名稱 add column 欄位名稱 資料型態;

9.刪除資料表欄位
    alter table 資料表名稱 drop column 欄位名稱;

10.修改資料表欄位
    alter table 資料表名稱 change column 原來欄位名稱 新欄位名稱 資料型態;

11.允許資料庫使用中文
    set names utf8;
    set names big5;

12.清空資料表
    truncate table 資料表名稱;

13.新增三筆資料
    insert into 資料表名稱 values 
      (欄位1,欄位2,欄位3),
      (欄位1,欄位2,欄位3),
      (欄位1,欄位2,欄位3);

14.顯示資料表全體資料
    select * from 資料表名稱;
        可以另外為「SELECT」後面查詢的資料取一個自己想要的名稱,這個作法稱為「別名(alias name)」
    *取欄位別名時,若欄位別名包含 空白字元 或使用SQL保留字 做命名一定要加上 '?? ??'

15.查詢單一欄位資料
    select 欄位名 from 資料表名稱;

16.查詢多欄位資料
    select 欄位名,欄位名 from 資料表名稱;

17.查詢欄位資料的唯一值
    select distince 欄位名 from 資料表名稱;

18.條件式查詢
    select * from 資料表名稱 where 條件式
    

19.查詢語法需要依照順序
    依序為 SELECT-->FROM-->WHERE-->GROUP BY-->HAVING-->ORDER BY-->LIMIT
    SELECT------想查詢的欄位
    FROM--------想查詢的表格
    WHERE-------查詢條件
    GROUP BY----分組設定
    HAVING------分組條件
    ORDER BY----排序設定
    LIMIT-------限制設定
    *-----------表示所有欄位

    如果目前使用中的資料庫是aaa,若不先用「USE cmdev」敘述切換使用中的資料庫
    可以使用下列的語法查詢「cmdev」資料庫中的「emp」表格:
    SELECT * FROM cmdev.emp

    a.select * from aaa;                                沒使用WHERE會回傳所有紀錄
    b.select * from aaa where Countrycode = 'TWN';      使用WHERE設定回傳台灣的紀錄
    c.select * from aaa where Population <800;          回傳人口數小於800的紀錄
    d.select * from aaa where Population <= 800;        回傳人口數小於等於800的紀錄

20.避開 mysql-client 的編碼問題可以使用此指令強制使用utf8連線
    $ mysql -h 127.0.0.1 -u root -p --default-character-set=utf8

21.查詢當前環境編碼資訊
    $ mysql show variables like "char%";

    設定--default-character-set=utf8影響的僅有character_set_client、
    character_set_connection和character_set_results


22.nvarchar, varchar, nchar, char的抉擇
    (1) var因為額外儲存地址,讀取時會先去抓資料,會比非var來的略慢效能:(nvarchar, varchar) < (nchar, char)
    (2) n因為1字2Byte,所以正常會花費2倍儲存空間儲存體:(nvarchar, nchar) >> (varchar, char)

    確認一定長度,且只會有英數字:char

    確認一定長度,且可能會用非英數以外的字元:nchar

    長度可變動,且只會有英數字:varchar

    長度可變動,且可能會用非英數以外的字元:nvarchar

23.修改 UPDATE
    UPDATE 資料表名稱 set 欄位名稱=? where id=?";

arrow
arrow

    Kingkazma 發表在 痞客邦 留言(0) 人氣()