創建表
語法:
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校驗規則 engine 存儲引擎;
說明:
- field 表示列名
- datatype 表示列的類型
- character set 字符集,如果沒有指定字符集,則以所在數據庫的字符集爲準
- collate 校驗規則,如果沒有指定校驗規則,則以所在數據庫的校驗規則爲準
舉個栗子:
create table users (
id int,
name varchar(20) comment '用戶名',
password char(32) comment '密碼是32位的md5值',
birthday date comment '生日'
) character set utf8 engine MyISAM;
說明:
- 不同的存儲引擎,創建表的文件不一樣。
- users 表存儲引擎是 MyISAM ,在數據目中有三個不同的文件,分別是:
- users.frm:表結構
- users.MYD:表數據
- users.MYI:表索引
查看錶結構
desc 表名;
例如:
修改表
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...);
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...);
ALTER TABLE tablename DROP (column);
例如:
- 在users表添加一個字段,用於保存圖片路徑:
mysql> alter table users add assets varchar(100) comment '圖片路徑' after birthday;
mysql> desc users;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(20) | YES | | NULL | |
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| assets | varchar(100) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+
- 修改name,將其長度改成60
mysql> alter table users modify name varchar(60);
mysql> desc users;
+----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+----------+--------------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | |
| name | varchar(60) | YES | | NULL | |<= 長度變成60
| password | char(32) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| assets | varchar(100) | YES | | NULL | |
+----------+--------------+------+-----+---------+-------+
刪除表
語法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...