- 创建表
CREATE TABLE table_ name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集collate校验规则engine存储引擎;
field 表示列名
datatype 表示列的类型
character set字符集,如果没有指定字符集,则以所在数据库的字符集为准
collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
例:
- 查看表
- 在数据库---use database内查看其内的全部表
select database();
- 查看表结构
show tables;
- 查看表的详细信息
desc user;
4.查看历史上创建这张表的详细slq指令
show create table user;
可以进行格式化显示,去掉不需要显示的内容:
show create table user \G;
- 修改表
在项目实际开发中,经常修改某个表的结构,比如字段名字,字段大小,字段类型,表的字符集类型,表的存储引擎等等。我们还有需求,添加字段,删除字段等等。这时我们就需要修改表。
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][, columndatatype]...); ---在表中新增一列
ALTER TABLE tablename MODIfy (Co]umn datatype [DEFAULT expr][ ,co1umndatatype]...); ----对表中指定一列属性做覆盖修改
ALTER TABLE tab1ename DROP (co1umn) ; ----删除表中指定列
修改表名---rename
alter table user rename to user1;
或alter table user rename user1;
向表内插入数据:
insert into user valuse (1,’张三’,’1234’);
修改:
新增一列:
alter table user add brithday varchar(32) comment ‘用户生日’ after password;
after password 表示将新增的一列放在Password的后面
对指定列的属性做修改:
alter table user modify name varchar(60); ---将name这一列的长度改为60
但是此时通过show create table user \G 查看历史上创建user表的指令中对name的描述字段被删除
因为modify不是对指定列中的属性进行修改,而是对列的属性进行覆盖式进行修改
因此需要modify时加上描述字段:
alter table user modify name vachar(60) comment ‘用户名’;
删除指定列:
alter table user drop brithday;
修改指定列名称:
alter table user change name xingming varchar(60) comment ‘用户名’;
也是覆盖式进行修改,需要加上其他属性
- 删除表
drop table user;
----轻易不要对表进行修改或删除,影响上层使用,需要进行相应修改。
对表的操作的sql语句属于DDL-数据定义语言,用来维护存储数据的结构:create,drop,alter。