MySQL数据库操作数据表的全面语法指南

发表时间: 2023-08-09 16:30

开发项目时,并不是所有项目都是先创建好表,有的项目需要动态操作表,表的创建删除修改是通过接口完成的,那就需要知道ddl数据定义语言,下边是相关命令。

1.创建表

注意:建表的注释有= 修改字段的注释没有=

CREATE TABLE test(id INT PRIMARY KEY AUTO_INCREMENT COMMENT '主键',name VARCHAR(200) COMMENT '姓名',age int COMMENT '年龄',address VARCHAR(1000) COMMENT '地址') COMMENT = '测试'

2修改表信息

2.1修改表名

语法:alter table 旧表名 rename to 新表名;例:alter table test rename to sys_test;

2.2修改表注释

语法:alter table 表名 comment '注释内容';例:alter table sys_test comment '测试修改表备注';

不能用一条语句修改表名和表备注

3修改字段信息

注意:change 可以修改列名称,modify 则不能,但两者都可以更改类型和备注。修改字段必须加类型

3.1修改字段类型和注释

语法:alter table 表名 modify column 列名 类型 COMMENT '注释内容';例:alter table sys_test modify column name varchar(100) COMMENT '姓名';

3.2修改字段类型

语法:alter table 表名 modify column 列名 类型;例:alter table sys_test modify column address text;

3.3 change修改字段名字类型备注默认值

语法: alter table 表名 change 旧列名 新列名 类型 (是否为空) (COMMENT '注释内容');例: alter table sys_test change name first_name varchar(20) not null COMMENT '应用的名称';错误语句: alter table sys_test change name first_name

3.4 设置字段允许为空/不为空

语法: alter table 表名 modify column 列名 类型 null/not null例: alter table sys_test modify column name varchar(200) not null

3.5增加字段

语法: alter table 表名 add 列名 类型 (null/not null) (comment '注释内容');例: alter table sys_test add url varchar(200) not null comment '图片地址';

3.6 增加主键 (该列不存在且没有主键)

语法: alter table 表名 add 列名 类型 (null/not null),add primary key (列名);例: alter table sys_test add aid int(5) not null ,add primary key (aid);

3.6.1设定已有的列为主键

alter table sys_test add primary key(id);

3.7增加自增主键(该列不存在且没有主键)

语法: alter table 表名 add 列名 类型 (null/not null) auto_increment ,add primary key (列名);例: alter table sys_test add aid bigint(20) not null auto_increment ,add primary key (aid);

3.8修改主键为自增

语法: alter table 表名 modify column 列名 类型 auto_increment;例: alter table sys_test modify column aid int(10) auto_increment;

3.9 删除字段

语法: alter table 表名 drop 列名;例: alter table sys_test drop aid

3.10在某个字段后增加字段

在某个字段前增加字段也是用after关键字

语法: alter table 表名 add column 列名 类型 (null/not null) AFTER 指定列;例: alter table sys_test add column test_id bigint(100) not null AFTER url;

3.11调整字段顺序

语法: alter table 表名 change 需调整循序字段 需调整循序字段 类型 (null/not null) after 目标字段 ;例: alter table test_test change name name varchar(400) after id ;

3.12查看表的字段信息

Select COLUMN_NAME 字段名,column_comment 字段说明,column_type 字段类型from information_schema.columns where table_schema = 'test' and table_name = 'test_user' ;

3.13查询数据库是否存在

select * from information_schema.SCHEMATA where SCHEMA_NAME = '需要查找的数据库名';

3.14查询数据表是否存在

select * from information_schema.TABLES where TABLE_NAME = '需要查询的数据表名';

相关语法后续更新......

你的赞和关注是对我最大的肯定,希望大家多多支持,谢谢大家。