一、创建数据表
1.语法
CREATE TABLE table_name (
field1 datatype,
field2 datatype,
……
) character set 字符集 collate 校验规则 engine 存储引擎;
说明:
- field表示列名
- datatype表示该列的数据类型
- 如果没有指定字符集,则以所在数据库的字符集为准(就近原则)
- 如果没有指定校验规则,则以所在数据库的校验规则为准
疑难解答:
默认的字符集与校验集?
我们在创建数据库的时候,如果没有指定字符集和校验集,则使用mysql配置文件中所默认采用的;我们在创建表的时候,如果没有指定字符集和校验集,则与当前数据库保持一致。这就是一种就近原则。
如果没有特殊的需求,都不建议显式指定,采用默认的即可。
什么是存储引擎?
MySQL存储引擎是用于存储和检索数据的软件组件。它定义了如何将数据存储在磁盘上,以及如何从磁盘检索数据。MySQL提供了多种存储引擎,其中最常用的是InnoDB和MyISAM。
MySQL中的存储引擎是插件式的,我们根据自己的实际需要选择最适合的存储引擎
2.案例
注意数据表是在数据库下创建的,因为我们在创建数据表的时候,需要先指定使用某一个数据库:ues db_name;
。如果忘了当前我们在哪个数据库中,可以使用下面的指令查看:select database();
二、查看数据表
-
查看当前数据库下所有的数据表
show tables;
-
查看表属性
desc table_name
-
查看数据表的创建语句
show create table table_name;
显示不清楚?没关系,最后可以用
\G
代替;
。MySQL会将查询结果按行、列格式化输出。
三、修改数据表
现有如下的数据表,我们对其进行修改操作(都属于DDL操作)
1.添加新字段
语法:
alter table table_name add column datatype [DEFAULT val], [add column datatype [DEFAULT expr]] ……
建议: 一般数据表设计好后,就不建议插入新的字段了。尤其是在数据表中已经有数据的情况下
-
案例一:添加一行新列
-
案例二:可以通过
default
关键字设置默认值 -
案例三:同时插入多列。
2.修改字段属性
语法:
ALTER TABLE tablename MODIfy columnname columndefinition,[MODIfy columnname columndefinition,]
案例:
-
修改字段类型
注意: 修改字段会将原字段属性完全覆盖。在上面的案例中,tele字段原本的注释信息被覆盖了
-
修改默认值
3.删除字段
语法:
ALTER TABLE tablename DROP (column);
4.修改数据表名
语法:
alter table tablename rename xxx
5.修改字段名
语法:
alter table tablename change oldname newname + 字段属性
修改字段名时也会覆盖原字段的所有属性
四、删除数据表
语法:
drop [TEMPORARY] temporary [if exists] tbl_name [, tbl_name] ...
- TEMPORARY关键字用来指明删除临时表
注意: 删除表要慎重,数据表中的数据和创景指令都会被完全删除