表是資料庫存盤資料的基本單位,由若干個欄位組成,主要用來存盤資料記錄,
對表的操縱有創建表、查看表、修改表、洗掉表、向表中插入資料、修改表中的資料
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;
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/68419.html
標籤:MySQL
上一篇:03、MySql的資料型別
下一篇:資料庫的設計
