MySQL——表的操作
目录
一:本节⽬标
二: 查看所有表
2.1 语法
三:创建表
3.1 语法
3.2 实例
3.3 表在磁盘上对应的⽂件
四:查看表结构
4.1 语法
4.2 ⽰例
五:修改表
5.1语法
5.2 ⽰例
5.2.1 向表中添加⼀列
5.2.2 修改某列的⻓度
5.2.3 重命名某列
5.2.4 删除某个字段
5.2.5修改表名
六:删除表
6.1语法
6.2 ⽰例
6.3 注意事项
一:本节⽬标
掌握创建、查看、修改和删除表。
二: 查看所有表
2.1 语法
show tables;
首先我们先使用我们的数据库java116,由于我库没有创建表 就查询, 所以返回空。
empty set:表示空结果集,表示当前数据库中没有表
三:创建表
3.1 语法
CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name(field datatype [约束] [comment '注解内容'][, field datatype [约束] [comment '注解内容']] ...) [engine 存储引擎] [character set 字符集] [collate 排序规则];
TEMPORARY: 表⽰创建的是⼀个临时表
field:列名
datatype:数据类型
comment:对列的描述或说明(就是注释)
engine:存储引擎,不指定则使⽤默认存储引擎(和创建库的时候一样,如果创建表的时候指定,则只针对当前表生效)
character set:字符集,不指定则使⽤默认字符集
collate:排序规则,不指定则使⽤默认排序规则
3.2 实例
创建⼀个⽤⼾表,其中包含⽤⼾编号、⽤⼾名、密码、⽣⽇,并指定字符集为utf8mb4,排序规则为utf8mb4_0900_ai_ci。
-- 创建⼀个⽤⼾表,其中包含⽤⼾编号、⽤⼾名、密码、⽣⽇,并指定字符集为utf8mb4,排序规则为utf8mb4_0900_ai_ci -- 两个横线加空格(-- )注释 # 这个也是注释/* 这个是多行注释 /
create table if not EXISTS users(id bigint comment '用户编号',username VARCHAR(30) COMMENT'用户名',`password` VARCHAR(30) comment '密码',birthday date COMMENT '生日' );
创建成功后 就会出现一个OK的字符
我们在navicat中创建表 ,然后我们在命令中查询表
-- 创建⼀个表并指定存储引擎为MyISAM
create table if not EXISTS t_myisam(id bigint ,`name` varchar(30) )engine = myISAM;
注意:
还需要注意 其他列都以逗号结尾,最后一列的变量没有逗号。
如果我们创建的变量是关键字,我们就要使用反引号
3.3 表在磁盘上对应的⽂件
创建表后有相应的文件
innodb存储引擎,一个表中对应一个文件
其他就是myisan存储引擎对应的三个文件:MYD中my就代表my D就代表数据
四:查看表结构
4.1 语法
desc 表名;
4.2 ⽰例
Field:表中的列名
Type:列的数据类型
Null:该列的值是否允许为Null
Key:该列的索引类型
Default:该列的默认值
Extra:扩展信息
五:修改表
在项⽬的实际开发中,随着版本的迭代和需求的变更,经常会对表结构进⾏调整,⽐如向现有表中添加列,删除列,或者修改某列的列名、数据类型或⻓度,这时就需要对表进⾏修改操作
5.1语法
ALTER TABLE tbl_name [alter_option [, alter_option] ...]; alter_option: { table_options | ADD [COLUMN] col_name column_definition [FIRST | AFTER col_name](新增列加到表第一列 | 加到哪一列之后就是 after+列明) | MODIFY [COLUMN] col_name (列名) column_definition(数据类型) [FIRST | AFTER col_name]修改列的位置 | DROP [COLUMN] col_name | RENAME COLUMN old_col_name TO new_col_name | RENAME [TO | AS] new_tbl_nametbl_name:要修改的表名 ADD:向表中添加列 MODIFY:修改表中现有的列 DROP:删除表中现有的列 RENAME COLUMN:重命名表中现有的列 RENAME [TO | AS] new_tbl_name:重命名当前的表修改类型至少有一个,多个修改逗号隔开。
5.2 ⽰例
5.2.1 向表中添加⼀列
`-- 向表中末尾加入一列` `alter table users add assets VARCHAR(100) comment '头像地址' after birthday;`
运行展示:
执行以下命令行
在navicat中展示:
5.2.2 修改某列的⻓度
alter table users MODIFY assets VARCHAR(200);
这样子就很直观的看到修改长度的变化:
5.2.3 重命名某列
-- 重命名某列 alter table users rename COLUMN id to idname;
运行前后我们看一下命令:
5.2.4 删除某个字段
-- 删除列 alter table users DROP idname;
前后对比
5.2.5修改表名
-- 修改表名 alter table users rename user1;
前后查询对比
六:删除表
6.1语法
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...TEMPORARY:表⽰临时表 tbl_name:将要删除的表名
数据库删除中所有删除操作都是危险操作,在以后工作中就把删除忘记 !!!
6.2 ⽰例
要使用反引号把表引起来
我们查看以下表:就没有t_myisam
6.3 注意事项
删除表是⼀个危险操作,执⾏删除语句时⼀定要谨慎
删除表成功后,磁盘上对应的数据⽂件也会被删除
⼀次可以删除多个表,表与表之间⽤逗号隔开