表是資料庫存儲數據的基本單位,由若幹個欄位組成,主要用來存儲數據記錄。 對錶的操縱有創建表、查看表、修改表、刪除表、向表中插入數據、修改表中的數據 1、創建表 CREATE TABLE table_name (column_name column_type 約束條件)[存儲引擎 字元集]; 或者:C ...
表是資料庫存儲數據的基本單位,由若幹個欄位組成,主要用來存儲數據記錄。
對錶的操縱有創建表、查看表、修改表、刪除表、向表中插入數據、修改表中的數據
1、創建表
CREATE TABLE table_name (column_name column_type 約束條件)[存儲引擎 字元集];
或者:CREATE TABLE IF NOT EXISTS table_name (column_name column_type[寬度]約束條件)[存儲引擎 字元集];
註意:寬度和條件可選。
約束條件:
-
- 如果你不想欄位為 NULL 可以設置欄位的屬性為 NOT NULL, 在操作資料庫時如果輸入該欄位的數據為NULL ,就會報錯。
- AUTO_INCREMENT定義列為自增的屬性,一般用於主鍵,數值會自動加1。
- PRIMARY KEY關鍵字用於定義列為主鍵。 您可以使用多列來定義主鍵,列間以逗號分隔。
- ENGINE 設置存儲引擎,CHARSET 設置編碼。
2、查看表
show tables; --查看當前資料庫中的所有表
desc table_name; --查看表的結構
show create table haha; --查看表詳細結構語句
show table status like 'haha' \G --列比較多,想看的清楚一點,可以以\G結尾
3、修改表名
1、修改表名
rename table table_name to new_name;
alter table table_name rename new_name;
2、修改欄位的數據類型
alter table t1 modify gender char(11); --只能改屬性不能改名字
alter table t1 change gender age int(12); --既可以改名也可改屬性(把gender改為age)
3、修改欄位gender順序
alter table t1 change gender gender int(12) first; --把gender方在第一列
alter table t1 change gender gender int(12) after id; --把gender方在id後面
4、添加新欄位
alter table t1 add age int(10);
alter table t1 add (chinese int(10),english int(10));
5、刪除欄位
alter table table_name drop 欄位名; --刪除列
6、插入數據
insert into t1(id,name,math,china) values(1,"wing",80,90); insert into t1(id,name,math,china) values(2,"king",70,100),(3,"tom",50,70); insert into t1 set id=6,math=65; insert into t1 values(4,"xiaosan",50,100); insert into t1(id,math) values(5,70);
7、更新表中數據
update table_name set name="MySql" where id=5; --把表中id=5的記錄名字改為MySql
delete from table_name where id=5; --刪除id=5 的一條記錄
delete from table_name; --刪除表中所有數據
8、複製表1、複製表結構及數據到新表
1、CREATE TABLE 新表 SELECT * FROM 舊表
這種方法會將oldtable中所有的內容都拷貝過來,當然我們可以用delete from newtable來刪除。
不過這種方法的一個最不好的地方就是新表中沒有了舊表的primary key、Extra(auto_increment)等屬性。需要自己添加,而且容易搞錯。
2、只複製表結構到新表
CREATE TABLE 新表 SELECT * FROM 舊表
或CREATE TABLE 新表 LIKE 舊表
3、複製舊表的數據到新表(假設兩個表結構一樣)
INSERT INTO 新表 SELECT * FROM 舊表
4、複製舊表的數據到新表(假設兩個表結構不一樣)
INSERT INTO 新表(欄位1,欄位2,.......) SELECT 欄位1,欄位2,...... FROM 舊表
5、show create table 舊表;
這樣會將舊表的創建命令列出。我們只需要將該命令拷貝出來,更改table的名字,就可以建立一個完全一樣的表
9、刪除表
drop table table_name;