文章目录
- [1. 创建表](#1. 创建表)
- [2. 查看表](#2. 查看表)
- [3. 修改表](#3. 修改表)
- [4. 删除表](#4. 删除表)
1. 创建表
mysql
create table table_name (
field1 datatype,
field2 datatype,
field3 datatype
)character set 字符集 collate 校验集 engine 存储引擎;
field
:列名datatype
:列的类型character set
:字符集(没有指定以所在数据库字符集为准)collate
:校验规则(没有指定以所在数据库校验集为准)
++示例(两种引擎存储):++
mysql
mysql> create table if not exists user_1(
-> id int,
-> name varchar(20) comment '用户名',
-> password char(32) comment '密码',
-> birthday date comment '生日'
-> )character set utf8 collate utf8_general_ci engine MyIsam;
Query OK, 0 rows affected (0.00 sec)
mysql> create table if not exists user_2(
-> id int,
-> name varchar(20) comment '用户名',
-> password char(32) comment '密码',
-> birthday date comment '生日'
-> )charset=utf8 collate=utf8_general_ci engine=InnoDB;
Query OK, 0 rows affected (0.02 sec)
不同引擎存储,创建的文件不一样:
2. 查看表
确认当前所在数据库:
mysql
select database();
查看表:
mysql
show tables;
查看表的详细信息:
mysql
desc table_name;
查看创建表的详细信息:
mysql
show create table table_name;
\G
以更易读的垂直格式显示,每行一个字段
mysql
会记录用户的操作痕迹,所以我们可以查到我们当初建表的信息
当然,这里和我们当时的指令有一点出入,这是mysql
会在内部做语法词法分析,更加标准化
3. 修改表
修改表名:
mysql
alter table user_1 rename to table_name;
to
可省略
也可以修改列名称:
mysqlalter table table_name change name new_name datatype;
插入数据:
mysql
insert into table_name values (xx, xxx);
添加字段:
mysql
alter table user1 add gender varchar(2) comment '性别' after birthday;
after
指定在哪个属性后面
修改属性:
mysql
alter table user1 modify name varchar(60) comment '用户名2.0';
新的属性直接覆盖,要加上
comment
定义描述性注释
删除列:
mysql
alter table user1 drop birthday;
该列数据会全部清楚
4. 删除表
mysql
drop table table_name;
不要轻易进行修改和删除操作!!!,这些在业务当中都是比较靠近底层的,这些表结构、表名等,就直接影响了上层。