手记

在学MySQL的小伙伴看过来~

咳咳,本人MySQL新手一枚,学习修改数据表,把老师讲课的内容整理了一下,嗯。。。主要就是整理了SQL语句,在此分享给大家~~

·打开数据库
USE db_name

·查看表索引
SHOW INDEXES FROM tbl_name;(表明后面跟\G,可以表格形式展示)

·添加单列(关键字ADD)
ALTER TABLE table_name ADD [COLUMN] col_name columns_definition [FIRST AFTER col_name];
例句:
1.ALTER TABLE users1 ADD age TINYINT UNSIGNED NOT NULL DEFAULT 10;(增加age列,默认值为10,加到表的最后)
2.ALTER TABLE users1 ADD password VARCHAR(32) NOT NULL AFTER username;(增加password列,加到username列的后面)
3.ALTER TABLE users1 ADD truename VARCHAR(32) NOT NULL FIRST;(增加truename 列,加到表格最前面)

·添加多列
ALTER TABLE table_name ADD [COLUMN] (col_name columns_definition,...);
ps,多列添加行的话无法指定位置,只能添加到表的最后

·删除列

ALTER TABLE table_name DROP [COLUMN] col_name;

例句:
1.ALTER TABLE users1 DROP truename;(删除truename单行)
2.ALTER TABLE users1 DROP truename,DROP age;(删除truename,age两行)

ps,用逗号分隔命令 可在同一条命令中删除,添加行

·添加主键约束
ALTER TABLE table_name ADD [CONSTRAINT [symbol]] PRIMARY KEY [index_type] (index_col_name,...);
例句:
ALTER TABLE users2 ADD CONSTRAINT PK_users2_id(约束的名字) PRIMARY KEY (id);

·添加唯一约束
ALTER TABLE table_name ADD [CONSTRAINT [symbol]] UNIQUE [INDEX KEY] [index_name] [index_type]
 (index_col_name,...);
例句:
ALTER TABLE users2 ADD UNIQUE(username);-> 给username添加唯一约束 使用户名不能重名

·添加外键约束
ALTER TABLE table_name ADD [CONSTRAINT [symbol]] FOREIGN KEY [index_name] [index_type] 
(index_col_name,...) references_definition;
例句
ALTER TABLE users2 ADD FOREIGN KEY (pid) REFERENCE provinces (id);

·添加/删除默认约束
ALTER TABLE table_name ALTER [COLUMN] col_name {SET DEFAULT literal DROP DEFAULT};
例句:
ALTER TABLE users2 ALTER age set DEFAULT 15;(将age的默认值设为15)
ALTER TABLE users2 ALTER age DROP DEFAULT;

·删除主键约束
ALTER TABLE tbl_name DROP PRIMARY KEY;

·删除唯一约束
ALTER TABLE table_name DROP {INDEXKEY} index_name;
例句:
ALTER TABLE users DROP INDEX username;

·删除外键约束
ALTER TABLE tbl_name DROP FOREIGN KEY fk_symbol
例句:
先SHOW CREATE TABLE user2 查看fk_symbol
ALTER TABLE tbl_name DROP FOREIGN KEY user2_ibfk_1;

·修改列定义(用于修改字段数据类型or位置 )(关键字MODIFY)
1.ALTER TABLE users2 MODIFY id SMALLINT UNSIGNED NOT NULL FIRST;(位置)
2.ALTER TABLE users2 MODIFY id TINTINT UNSIGNED NOT NULL;(数据类型->从大改为小要防止数据丢失)

·修改列名称(关键字CHANGE)
1.ALTER TABLE users2 CHANGE pid p_id TINTINT UNSIGNED NOT NULL;(名称)

·修改数据表名称(RENAME)
1.ALTER TABLE users2 RENAME [TOAS] users3;
2.RENAME TABLE users3 TO users2;

9人推荐
随时随地看视频
慕课网APP

热门评论

嗯,我也在学,网上有个总结版的文档,可以去看看。

查看全部评论