MySql:表的操作
目录
创建表
CREATE TABLE [IF NOT EXISTS] table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;
field 表示列名datatype 表示列的类型character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准engine 存储引擎,常见的有MyIsam、Innodb
比如创建一张用户表。
comment是用来描述列名信息的,可以不用加,字符集、校验规则、存储引擎的书写都可以用等号来指定。
create table users (
id int,
name varchar(20) comment '用户名',
password char(32) comment '密码是32位的',
birthday date comment '生日'
) charset=utf8 engine=MyISAM;
不同的存储引擎,创建表后,对应所在目录生成的文件各有所不同。比如MyIsam引擎所创建的表,会生成三个后缀名不同的文件。
users.frm :表结构users.MYD :表数据users.MYI :表索引
查看创建表时的信息
show create table 表名;
查看表的结构描述
desc 表名;
删除一张表
drop table 表名;
修改表
本文暂时不谈对表的内容做修改,这里对表的修改指的是对表的结构的修改,比如修改表名、修改列名、修改表字段的属性、增加一列、删除一列。
//增加一列
ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column
datatype]...);
//修改字段的属性
ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column
datatype]...);
//删除一列
ALTER TABLE tablename DROP (column);
- 举一个对表的内容修改的例子,使用的关键字是insert,比如插入两条记录。
insert into users values(1,'a','b','1982-01-04'),(2,'b','c','1984-01-
04');
- 以下的修改都算作对表的结构的修改,属于DDL的SQL语句,比如增加一列,用来表示图片路径,列名为assets,类型为varchar(100)
alter table users add assets varchar(100) comment '图片路径' after
birthday;
after birthday表示把这一列新增到birthday这一列后面。
- 修改name的属性,比如把name的长度改为60。
alter table users modify name varchar(60);
由于这种修改是覆盖式的修改,所以name原来的comment信息也会随之消失。
- 删除一列
删除password这一列。
alter table users drop password;
- 修改表名,当前表名为users,修改表名为UserTable,其中to可以省略
alter table users rename to UserTable;
- 修改列名,比如修改name的列名为aaa
alter table UserTable change name aaa varchar(60);//类型要跟在后面
以上对表的操作,对表的属性、结构的操作,并为影响表的内容,这些SQL语句都属于DDL类的SQL语句,而Insert、delete、select这些SQL语句是影响表的内容,属于DML类的SQL语句。
原文地址:https://blog.csdn.net/weixin_74098337/article/details/144274060
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!