1.创建表
创建表的语法操作:
CREATE TABLE table_name (field1 datatype,field2 datatype,field3 datatype) character set 字符集 collate 校验规则 engine 存储引擎;
说明:
field
表示列名datatype
表示列的数据类型character set
指定字符集,若未指定则默认使用所在数据库的字符集collate
指定校验规则,若未指定则默认使用所在数据库的校验规则- engine 指定存储引擎,若未指定则使用配置文件的默认存储引擎
2.创建表案例
示例:
上述comment作用对指定列添加注释信息。
请注意:
不同存储引擎创建的表会生成不同的文件。(上图为例)
(1)使用 MyISAM 引擎的 users 表为例,在数据目录中会生成三个文件:
- users.frm:存储表结构
- users.MYD:存储表数据
- users.MYI:存储表索引
(2)使用InnoDB存储引擎创建表时,系统会自动生成两个文件:
users2.frm(存储表结构信息) users2.ibd(包含表数据和索引)
3.查看表结构
(1)语法:
desc 表名;
示例:
说明:
- Field:字段名称
- Type:字段数据类型
- Null:是否允许空值
- Key:索引类型(如主键索引显示为PRI)
- Default:字段默认值
- Extra:附加信息
(2)查看相关表创建内容语法和查看数据库一样:
show create table 表名;
示例:
带上/G选项会变得更加简洁:
4.修改表
在实际开发过程中,经常需要调整数据表结构,包括字段名称、大小、类型的变更,以及表字符集和存储引擎等属性的修改。此外,我们还需要处理新增或删除字段等需求,这些操作都涉及对数据表结构的调整。
语法:
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);
(1)列的增加
语法:
ALTER TABLE table_name ADD 新增列名 新增列的属性;
示例:
注意事项:
新增字段不会影响表中已有数据
(2)修改列属性
将下图的name,其长度改成60
示例:
mysql> alter table users modify name varchar(60);
注意:
修改属性是覆盖式修改!!!!
(3)删除列(注意:删除字段一定要小心,删除字段及其对应的列数据都没了)
语法:
alter table users drop password;
示例:(删除password)
(4)修改表名
语法:
alter table users rename to employee;
示例:
修改后:
恢复:
注意:
to:可以省掉!!!!
(5)修改列名
语法:
alter table employee change name xingming varchar(60); --新字段需要完整
定义
示例;
(上面的desc users 写为 desc user ,当数据库只有一个表是可以这样使用,正常情况下我们应当特只某个表eg:users)
5.删除表
语法:
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...
示例: