1.修改数据表
1.1 添加/删除列:
添加单列:
完整参数:ALTER TABLE tbl_name ADD [COLUMN] col_name cocolumn_definition [FIRST|AFTER col_name]
如“ALTER TABLE students ADD height int AFTER name;”//AFTER后面跟上列名,为新增的列在该列后面;FIRST为新增列成为首列;
删除单列:
完整参数:ALTER TABLE tbl_name DROP [COLUMN] col_name
如“ALTER TABLE students DROP height;”
1.2添加约束:
1、添加主键约束:
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] PRIMARY KEY[index_type] (col_name);
2、添加唯一约束
ALTER TABLE tbl_name ADD UNIQUE(col_name);
3、添加外键约束
ALTER TABLE tbl_name ADD [CONSTRAINT[symbol]] FOREIGN KEY [index_type](外键列) REFERENCES 父类(参考列);
4、添加/删除默认DEFAULT约束
ALTER TABLE tbl_name ALTER col_name SET DEFAULT literal / DROP DEFAULT;
1.3删除约束:
1.删除主键约束
完整参数:ALTER TABLE tbl_name DROP PRIMARY KEY;
如“ALTER TABLE users2 DROP PRIMARY KEY;”
SHOW COLUMNS FROM users2;
2.删除唯一约束
完整参数:ALTER TABLE tbl_name DROP {INDEX|KEY} index_name;
如“ALTER TABLE users2 DROP INDEX username;”
3.删除外键约束
完整参数:ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol;
如“ALTER TABLE users2 DROP FOREIGN KEY …;”
2.修改列
1.修改列定义
完整参数:ALTER TABLE tbl_name MODIFY [COLUMN] col_name column_definition [FIRST |AFTER col_name];
如“ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST;” //将id字段的位置提到第一列
如“ALTER TABLE users2 MODIFY id TINYINT UNSIGNED NOT NULL;” //修改数据类型,需注意数据丢失的问题
2.修改列名称
完整参数:ALTER TABLE tbl_name CHANGE [COLUMN] col_name new_col_name column_definition [FIRST|AFTER col_name];
如“ALTER TABLE users2 CHANGE pid p_id TINYINT UNSIGNED;” //修改列名称
3.数据表更名
方法1
完整参数:ALTER TABLE tbl_name RENAME [TO/AS] new_tbl_name
如“ALTER TABLE users2 RENAME TO users3;”
方法2
完整参数:RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] …
如“RENAME TABLE users5 TO users2;”
3.增删改查(CRUD)
插入记录-INSERT:
INSERT [INTO] tbl_name [(col_name,…)] {VALUES | VALUE} ({expr|DEFAULT},…),(…),…
INSERT [INTO] tbl_name SET col_name={expr|DEFAULT},…
INSERT [INTO] tbl_name [(col_name,…)] SELECT…
更新记录-UPDATE:
单表更新/UPDATE [LOW_PRIORITY][IGNORE] table_reference SET col_name1={expr1|DEFAULT},[col_name2={expr2|DEFAULT}]…[WHERE where_condition]
多表更新/…
删除记录-DELETE :
单表删除/DELETE FROM tbl_name [WHERE where_condition}
多表删除/…
查询记录-SELECT:
SELECT select_expr [,select_expr …]
[
FROM
WHERE
GROUP BY {col_name | position}[ASC|DESC],…
LIMIT {[offset,] row_count|row_count OFFSET offset
]
PS:修改结束符指令,DELIMITER // (将//作为结束符,而不再以;为结束符)