1. 創建表:
語法:
CREATE TABLE table_name(
field1 datatype,
field2 datatype,
field3 datatype
)character set 字符集 collate 校驗規則 engine 存儲引擎;
說明:
- field 表示列名
- datatype 表示列的類型
- character set 字符集,如果沒有指定字符集,則以所在數據庫的字符集爲準
- collate 校驗規則,如果沒有指定校驗規則,則以所在數據庫的校驗規則爲準
2. 創建表案例
create table users (
id int,
name varchar(20) comment '用戶名',
password char(32) comment '密碼是32位的md5值',
birthday date comment '生日'
) character set utf8 engine MyISAM;
注意我們這裏用的是MyISAM存儲引擎,不同的存儲引擎創建的表文件也不同。
users表存儲引擎是MyISAM,在數據目中有三個不同的文件,分別是:
- users.frm:表結構
- users.MYD:表數據
- users.MYI:表索引
我們如果創建一個存儲引擎爲innodb的數據庫,它就只有兩個表文件:frm、 ibd
3. 查看錶結構
語法:
desc 表名;
4. 修改表
在項目的實際開發中,經常需要修改某個表的結構,比如字段名字,字段大小,字段類型,表的字符集類型,表的存儲引擎等等。我們還有需求,如添加字段,刪除字段等等。這是我們就需要修改表。
ALTER TABLE tablename ADD(colum datatype [DEFAULT expr][ , column datatype]...);
ALTER TABLE tablename MODIfy(column datatype [ DEFAULT expr][ , column datatype]...);
ALTER TABLE tablename DROP (column);
- 在users表中再添加兩條記錄
insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01-04');
- 在users表中password後添加一個字段,用於保存圖片路徑
不寫after就默認在最後一列後面添加
alter table users add assets varchar(100) comment '圖片路徑' after birthday;
- 修改name,將其長度改爲60
alter table users modify name varchar(60);
- 刪除列(慎用)
alter table users drop name;
desc users;
- 修改表名 to可省略
alter table users rename to people;
- 將id列修改爲num
alter table person change id num int(32);
5. 刪除表
DROP[TEMPORARY] TABLE [IF EXISTS] tablename;