MySQL中一些常用的數(shù)據(jù)表操作語句筆記
0.創(chuàng)建表
CREATE TABLE 表名 (屬性名 數(shù)據(jù)類型 [完整性約束條件], 屬性名 數(shù)據(jù)類型 [完整性約束條件], 屬性名 數(shù)據(jù)類型 [完整性約束條件])
“完整性約束條件”是指指定某些字段的某些特殊約束條件。
在使用CREATE TABLE創(chuàng)建表時首先要使用USE語句選擇數(shù)據(jù)庫。比如有個example數(shù)據(jù)庫,用USE EXAMPLE選擇這個數(shù)據(jù)庫。
表名不能用SQL的關鍵字,如create,update等,字母不區(qū)分大小寫。
下面是一個創(chuàng)建表的例子:
create table example(id int, name varchar(20), sex boolean);
上例創(chuàng)建了example表,有三個字段,id整型,name字符串型,sex布爾型。
完整性約束條件是對字段進行限制。如果不滿足完整性約束條件,數(shù)據(jù)庫系統(tǒng)將不執(zhí)行用戶的操作,保護了數(shù)據(jù)庫中數(shù)據(jù)的完整性。
下面是完整性約束條件:
- PRIMARY KEY 標識該屬性為該表的主鍵,可以唯一的標識對應的元組
- FOREIGN KEY 標識該屬性為該表的外鍵,是與之聯(lián)系的某表的主鍵
- NOT NULL 標識該屬性不能為空
- UNIQUE 標識該屬性的值是唯一的
- AUTO_INCREMENT 標識該屬性的值自動增加
- DEFAULT 為該屬性設置默認值
1.查看表結構
describe 表名
describe可簡寫為desc。
describe語句可以查看表的基本的定義。包括字段名field,字段數(shù)據(jù)類型type,是否為空null,是否為主外鍵key,默認值default和額外信息extra。
2.查看表詳細結構
show create table 表名 show create table 表名 \G
\G增強顯示可查看性
show create table
語句可以查看表字段,各字段數(shù)據(jù)類型,完整性約束條件,標的存儲引擎,字符編碼等.
3.修改表名
alter table 舊表名 rename [to] 新表名;
4.修改字段的數(shù)據(jù)類型
alter table 表名 modify 屬性名 數(shù)據(jù)類型;
5.修改字段名
alter table 表名 change 舊屬性名 新屬性名 新數(shù)據(jù)類型;
舊屬性名參數(shù)指修改前的字段名,新屬性名參數(shù)指修改后的字段名,如果不指定數(shù)據(jù)類型則數(shù)據(jù)類型不變。
6.增加字段
alter table 表名 add 屬性名1 數(shù)據(jù)類型 [完整性約束條件] [first] after 屬性名2;
first可選項指此字段為表的第一個字段,after 屬性名2指放在指定字段后面,默認最后一位。
7.刪除字段
alter table 表名 drop 屬性名;
8.刪除關聯(lián)表
(1)刪除表的外鍵約束
外鍵是一個特殊字段,其將某一個表與其父表建立關聯(lián)關系。在創(chuàng)建表的時候,外鍵約束就已經(jīng)設定好了。去掉他們之間的關聯(lián)關系需要用到下面語句。
alter table 表名 drop foreign key 外鍵別名;
外鍵別名參數(shù)指創(chuàng)建表時設置的外鍵代號。
(2)刪除沒有被關聯(lián)的普通表
drop table 表名;
刪除一個表時,表中的所有數(shù)據(jù)也會被刪除。刪除表時最好先將表中的數(shù)據(jù)備份一下。
(3)刪除被其他表關聯(lián)的父表
當刪除有關聯(lián)關系的表時,用drop table example1 會報錯,原因是有外鍵依賴于該表
例如創(chuàng)建了一個example4表依賴于example1表,example4表的外鍵stu_id依賴于example1表的主鍵。example1表時example4表的父表。
如果要刪除example4表,必須先去掉這種依賴關系。最簡單的辦法是先刪除子表example4,然后刪除父表example1。但這樣可能會影響子表的其他數(shù)據(jù)。
另一種方法是先刪除子表的外鍵約束,然后刪除父表。這種方法不會影響子表的其他數(shù)據(jù),可以保證數(shù)據(jù)庫的安全。
比如,example4表的外鍵別名是d_fk,刪除example4的外鍵約束
alter table example4 drop foreign key d_fk;
。
可以通過show create table example4 \G來查看是否已刪除。
然后再執(zhí)行
drop table example1;
.
執(zhí)行成功則表示操作成功。
- MySQL之終端Terminal(dos界面)管理數(shù)據(jù)庫、數(shù)據(jù)表、數(shù)據(jù)的基本操作
- MySQL中復制數(shù)據(jù)表中的數(shù)據(jù)到新表中的操作教程
- mysql 數(shù)據(jù)表中查找重復記錄
- mysql 導入導出數(shù)據(jù)庫、數(shù)據(jù)表的方法
- MySQL數(shù)據(jù)表字段內容的批量修改、清空、復制等更新命令
- MySQL快速復制數(shù)據(jù)庫數(shù)據(jù)表的方法
- MySQL數(shù)據(jù)庫查看數(shù)據(jù)表占用空間大小和記錄數(shù)的方法
- mysql中數(shù)據(jù)庫與數(shù)據(jù)表編碼格式的查看、創(chuàng)建及修改
- mysql修復數(shù)據(jù)表的命令方法
- Mysql數(shù)據(jù)表分區(qū)技術PARTITION淺析
- MySQL數(shù)據(jù)表基本操作實例詳解