mysql 常见数据表操作

        前面介绍了数据库表的基本操作。把常用的做一个汇总。时间久了,记不得完整的语法了,再打开一看,就清楚了。

1,表操作

1,建表+注释

CREATE TABLE student(
  id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学号',
  name VARCHAR(200) COMMENT '姓名',
  age  INT  COMMENT '年龄'
) COMMENT='学生表'

2,修改注释

-- 修改表注释- 
ALTER TABLE student COMMENT '学生信息表';

3,修改表名

ALTER TABLE book RENAME TO books;

4,删除表格

DROP TABLE user;

5、约束

        unique(唯一性)

        not null

        default(默认值以'单引号括起来)

        comment 备注

        primary key(主键,也必须是唯一性,后面加AUTO_INCREMENT可实现自增,删除某条记录再自增后,后面的条目主键值不会变化)

2,列的操作

  • 查看列:desc 表名;
  • 修改表名:alter table t_book rename to bbb;
  • 添加列:alter table 表名 add column 列名 varchar(30);
  • 删除列:alter table 表名 drop column 列名;
  • 修改列名: alter table bbb change column oleColumn newColumn 属性;
  • 修改列属性:alter table t_book modify name varchar(22);
1,增加列
1,增加列
ALTER TABLE open_transfer_link ADD COLUMN transfer_mod  VARCHAR(20) 
   COMMENT '多实例模式(serial 串行,multiInst并行)';

2,增加列在指定字段后面:after column
ALTER TABLE open_transfer_link ADD COLUMN transfer_mod  VARCHAR(20) 
   COMMENT '多实例模式(serial 串行,multiInst并行)' after next_staff_id;

3,增加列在第一列:first
ALTER TABLE open_transfer_link ADD COLUMN transfer_id int(8) 
   COMMENT '转换标识' first;

2,修改列:

1,修改列名,属性和备注:
ALTER TABLE open_transfer_link 
CHANGE COLUMN  transfer_mod transfer_mode VARCHAR(30) COMMENT '流转模式';

PS:注意,如果有备注的,修改字段的时候,要带上备注!!!不然修改的时候,不带备注,备注就没有了。

2,修改字段的排列位置
1,修改字段为表的第一个字段
ALTER TABLE tb_dept1 MODIFY columnl VARCHAR(12) FIRST;

2,修改字段到表的指定列之后
ALTER TABLE tb_dept1 MODIFY column1 VARCHAR(12) AFTER 1ocation;

3,删除列

语法:

alter table 表名 drop column 列名;
ALTER TABLE open_transfer_link DROP COLUMN next_staff_id; 

4,设置主键

alter table staff add primary key (id);

5,修改列为自增:

alter table func_menu_group 
change func_menu_group_id func_menu_group_id 
int not null auto_increment COMMONET '功能菜单组标识';

6,设置自增初始值

ALTER TABLE func_menu_group AUTO_INCREMENT = 100000;

3,索引操作:

1,添加索引:

1,添加PRIMARY KEY(主键索引)
ALTER TABLE table_name ADD PRIMARY KEY (columnName);

2,添加唯一性索引:add unique key
ALTER TABLE table_name ADD UNIQUE KEY NAME (columnName) 
ALTER TABLE role_assign 
ADD UNIQUE KEY uni_role_assign_key(role_id,target_type,target_id);
3,添加普通索引:INDEX
ALTER TABLE table_name ADD INDEX index_name (columnName);

4,添加全文索引:FULLTEXT
ALTER TABLE table_name ADD FULLTEXT (columnName);

2,修改索引:

没有直接修改索引的,需要先删除,再增加

ALTER TABLE role_assign 
  DROP INDEX idx_role_assign_141,
  ADD INDEX idx_role_assign(target_id, target_type);

3,删除索引:

ALTER TABLE role_assign DROP INDEX uni_role_assign_key;

4,总结:

        后面有遇到,再补充。把常用的ddl操作放一起,后面有忘记了,就可以直接查看。

        上一篇:《mysql数据库表基本操作》

        下一篇:《mysql 数据类型》

你可能感兴趣的:(mysql系列,mysql,数据库)