【MySQL】表的操作

创建表

语法:

CREATE TABLE [IF NOT EXISTS] table_name (
field1 datatype,
field2 datatype,
field3 datatype
) character set 字符集 collate 校验规则 engine 存储引擎;

说明:

  • field 表示列名
  • datatype 表示列的类型,在后面还可以加上“comment + ‘列的说明’ ”
  • character set 字符集,如果没有指定字符集,则以所在数据库的字符集为准
  • collate 校验规则,如果没有指定校验规则,则以所在数据库的校验规则为准
  • 列之间用 “,” 隔开,最后一个属性之后不用加逗号。
  • engine 存储引擎,不同的存储引擎,创建表的文件不一样

创建表的案例

假设创建了 uesr_db 数据库,在这个数据库中创建 users 表:

create table users (
    id int,
    name varchar(20) comment '用户名',
    password char(32) comment '密码是32位的md5值',
    birthday date comment '生日'
) character set utf8 engine MyISAM;

不同的存储引擎,创建表的文件不一样

users 表存储引擎是 MyISAM ,在 uesr_db 目录中有三个不同的文件,分别是:

  • users.frm:表结构
  • users.MYD:表数据
  • users.MYI:表索引

如果用 InnoDB 创建 user,在 uesr_db 目录中有两个不同的文件,分别是:

  • users.frm:表结构
  • users.idb:表数据和结构

查看表结构

查看当前数据库的所有表:

show tables;

查看当前数据库特定的表的详细信息:

desc 表名;

显示曾经创建表时所用的语句

show create table 表名;

或

show create table 表名 \G  // 格式化输出更好看

修改表结构

在项目实际开发中,经常修改某个表的结构,比如修改表或字段名字,字段大小,字段类型,表的字符集类型, 表的存储引擎等等。还有添加字段,删除字段等等。

修改表名字

ALTER TABLE 旧表名 rename 新表名;

表中新增一列

ALTER TABLE tablename ADD 新增列的列名 新增列类型 [comment] after 新增到哪一列后面

修改列的属性

ALTER TABLE tablename MODIFY 要修改的列名 新的列属性;

// 注意,如果在这里修改时没有加上 comment,原先的 comment 会消失

删除列

ALTER TABLE tablename DROP 要删除的列名;

如果要删除一列一定要小心谨慎,因为删除了就无法恢复了

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);

修改列名

ALTER TABLE tablename change 旧列名 新列名 新列名属性
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值