天天看點

Mysql常用基礎操作指令及資料操作指令一覽

一、MySQL關于表基礎指令

1.1 表的建立

文法: create table if not exists 表名 ( 字段名 資料類型(null | not null,default | auto_increment,primary key,comment,varchar,), 字段名 資料類型 … ) engine=存儲引擎 charset=字元編碼

資料類型 含義
null,not null 是否為空
default 預設值
auto_increment 自動增長,預設1開始,每次遞增1
primary key 主鍵
comment 備注
varchar 字元串
engine 引擎,有myisam、innodb

如果表名和字段名用了關鍵字,特殊符号,要用反引号括起來。 例:

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

小結:

  • 如果不指定引擎,預設是myisam
  • 如果不知道字元編碼,預設和資料庫的編碼一緻
    Mysql常用基礎操作指令及資料操作指令一覽
    Mysql常用基礎操作指令及資料操作指令一覽

1.2 表的檔案

一個資料庫對應一個檔案夾,一個表對應兩個個或多個檔案,主要取決與引擎,引擎是innodb,生成一個檔案。引擎是myisam生成3個檔案:

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

innodb和myisam的差別:

  • myisam查詢速度快,容易産生碎片,不能限制資料
  • innodb以前沒有myisam查詢速度快,現在已經提速了,不産生碎片

1.3 顯示建立表的語句

文法: show create table stu2;

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

還可以 show create table stu2\G 查詢:

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

1.4 檢視表結構

文法: describle 表名;

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

可以簡寫為: desc 表名;

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

1.5 删除表

文法: drop table if exists 表1,表2,…;

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

1.6 複制表

文法一: create table 新表 select 字段 | * from 舊表; 特點:不能複制父表的鍵,能夠複制父表的資料。不寫字段,寫*号代表複制所有字段。

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

但是注意主鍵沒有複制。

文法二: create table 新表 like 舊表; 特點: 隻能複制表結構,不能複制表資料。

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

1.7 修改表

文法: alter table 表名;

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

我們以stu1為例,進行修改:

  • 添加字段,文法:alter table 表名 add [column] 字段名 資料類型 [位置];
Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

就兩個位置關鍵字,after ,first。

  • 删除字段:alter table 表 drop [column] 字段名;
    Mysql常用基礎操作指令及資料操作指令一覽
    Mysql常用基礎操作指令及資料操作指令一覽
    Mysql常用基礎操作指令及資料操作指令一覽
  • 修改字段(改名): alter table 表 change [column] 原字段名 新字段名 資料類型…;
    Mysql常用基礎操作指令及資料操作指令一覽
    Mysql常用基礎操作指令及資料操作指令一覽
  • 修改字段(不改字段名隻能改屬性),文法: alter table 表 modify 字段名 字段屬性…
    Mysql常用基礎操作指令及資料操作指令一覽
    Mysql常用基礎操作指令及資料操作指令一覽
  • 修改引擎,文法:alter table 表名 engine=引擎名;
    Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

現在stu5的引擎為myisam,現在給他修改為innodb。

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽
  • 修改表名,文法: alter table 表名 rename to 新表名;
    Mysql常用基礎操作指令及資料操作指令一覽
    Mysql常用基礎操作指令及資料操作指令一覽

    [外鍊圖檔轉存失敗,源站可能有防盜](https:

    ![]!鍊機制,建議将(https://imgblog.csnimg.cn/img_conHert/aed2203523Bp661292e1dbd0c4f7a1ca.png1)(https://img-blog.csdnimg.cn/img_convert/d128620903d6716d62817819dbd61c58.png)

    Mysql常用基礎操作指令及資料操作指令一覽
    Mysql常用基礎操作指令及資料操作指令一覽
    ]

二、MySQL關于資料操作指令

2.1 插入資料

文法: insert into 表名(字段名,字段名,…) values(值1,值2,…);

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

字段名可以省略,代表全有字段有需要插入,不過在values值那裡,必須要與字段關系一一對應:

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

當字段為空值時,寫null,為預設值時寫default:

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

插入多個資料:

Mysql常用基礎操作指令及資料操作指令一覽

Mysql常用基礎操作指令及資料操作指令一覽

2.2 查詢資料

文法:select 列命 | * from 表名;

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

2.3 更新資料

文法: update 表名 set 字段=值 [where 條件]

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

更新多個:

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

2.4 删除資料

文法:delete from 表名 [where 條件];

Mysql常用基礎操作指令及資料操作指令一覽

删除表中所有資料:delete from 表名 ; 或者 truncate table 表名;

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

兩者差別:delete from 表:周遊表記錄,一條一條的删除,truncate table:将原表銷毀,在建立一個同結構的新表,就情空表而言,這種方法效率高。

我們再插入幾條資料:

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

2.5 資料傳輸使用字元集

在插入資料的時候,如果插入中文,如果報錯了,或者中文無法插入。 檢視用戶端發送的編碼:

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

目前預設是gbk。

檢視伺服器接收傳回的編碼: show variables like ‘character_set_%’;

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

更改接收用戶端指令編碼: set character_set_client=編碼格式; :

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

接着我們去存入中文:

Mysql常用基礎操作指令及資料操作指令一覽
Mysql常用基礎操作指令及資料操作指令一覽

會發現已經亂碼了,因為用戶端發送的編碼和服務端接收的編碼不一緻。如果将來有發現這個問題的話,就要注意編碼要一緻。

可以使用指令 set names gbk; 将服務端,所有編碼全部都以gbk的編碼形式。

Mysql常用基礎操作指令及資料操作指令一覽