数据库
文章目录
查看数据库
show databases;
创建数据库
create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ] ;
[ if not exists ]
数据库不存在, 则创建该数据库,如果存在,则不创建[ default charset 字符集 ]
指定字符集,如:utf8mb4
切换数据库
use 数据库名;
删除数据库
drop database [ if exists ] 数据库名 ;
[ if exists ]
如果数据库存在,再执行删除,否则不执行删除
数据表
查看
查看表
show tables;
查看表结构
desc 表名;
查看建表语句
show create table 表名;
创建表
create table 表名(
字段1 字段1类型 [comment 字段1注释 ],
字段2 字段2类型 [comment 字段2注释 ],
字段3 字段3类型 [comment 字段3注释 ],
......
字段n 字段n类型 [comment 字段n注释 ],
[约束 ...]
) [ comment 表注释 ] ;
例如:
创建一张表tb_user
:
create table tb_user(
id int comment '编号',
name varchar(50) comment '姓名',
age int comment '年龄',
gender varchar(1) comment '性别'
) comment '用户表';
从另一张表中创建新表
- 复制表结构及数据
create table 新表 select * from 旧表;
但是,这种方法,没有了旧表的 primary key、Extra(auto_increment) 等属性
- 只复制结构
create table 新表 like 旧表;
修改表
1. 修改表名
alter table 表名 rename to 新表名;
2. 添加字段
alter table 表名 add 字段名 类型 (长度) [ commit 1 注释 ] [ 约束 ];
例如:
为表student_info
添加新字段备注
,且类型为varchar(50)
alter table student_info add 备注 varchar(50);
3. 修改数据类型
alter table 表名 modify 字段名 新数据类型 (长度);
4. 修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型 (长度) [ commit 注释 ] [ 约束 ];
例如:
将emp
表的nickname
字段修改为username
,类型为varchar(30)
alter table emp change nickname username varchar(30) commit '昵称';
5. 删除字段
alter table 表名 drop 字段名;
删除表
drop table [ if exists ] 表名;
[ if exists ]
表名不存在,则不执行删除操作(如果不加该参数项,删除一张不存在的表,执行将会报错)
删除指定表,并重新创建表
truncate table 表名;