表
- 1 创建表
- 2 查看表结构
- 3 修改表
- 4 删除表
注:本篇文章操作的是表的结构,并不是表的内容。
属于笔记(一)中的SQL分类中的DDL
1 创建表
语法:
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
说明:
field 表示列名
datatype 表示列的类型
character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
案例
create table user(
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码是32位的md5值',
birthday date comment '生日'
) character set utf8 engine MyISAM;
不同的存储引擎,创建表的文件不一样。
users 表存储引擎是 MyISAM ,在数据目中有三个不同的文件,分别是:
如果创建表采用innodb引擎存储,那么会产生这两个文件
2 查看表结构
desc 表名;
注:在查看表之前需要先use对应存放该表的数据库
扩充:
查看当前数据库有几张表:
show tables
查看创建表的时候的对应语句
show create table 表格名;
3 修改表
在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。
案例:
在表中新增添加两条记录
mysql> insert into user values('张三','123456','2000-01-01'),('李四','54321','2000-01-02');
在user中添加一个字段
mysql> alter table user add old_name varchar(12) after name;
插入新字段后,对表中原来的数据没有影响
修改name,将其长度改为60
mysql> alter table user modify name varchar(60);
删除password列
注意:删除字段一定要小心,删除字段及其对应的列数据都没了
mysql> alter table user drop password;
修改表名为User
mysql> alter table user rename to User;
修改name为id
mysql> alter table User change name id varchar(60);
–新字段需要完整定义 id varchar(60)
4 删除表
drop table 表名;