MySQL表的操作

1.创建表

创建表的语法操作:

cpp 复制代码
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)语法:

cpp 复制代码
desc 表名;

示例:

说明:

  • Field:字段名称
  • Type:字段数据类型
  • Null:是否允许空值
  • Key:索引类型(如主键索引显示为PRI)
  • Default:字段默认值
  • Extra:附加信息

(2)查看相关表创建内容语法和查看数据库一样:

cpp 复制代码
show create table 表名;

示例:

带上/G选项会变得更加简洁:

4.修改表

在实际开发过程中,经常需要调整数据表结构,包括字段名称、大小、类型的变更,以及表字符集和存储引擎等属性的修改。此外,我们还需要处理新增或删除字段等需求,这些操作都涉及对数据表结构的调整。

语法:

cpp 复制代码
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)列的增加

语法:

cpp 复制代码
ALTER TABLE table_name ADD 新增列名 新增列的属性;

示例:

注意事项:

新增字段不会影响表中已有数据

(2)修改列属性

将下图的name,其长度改成60

示例:

cpp 复制代码
mysql> alter table users modify name varchar(60);

注意:

修改属性是覆盖式修改!!!!

(3)删除列(注意:删除字段一定要小心,删除字段及其对应的列数据都没了

语法:

cpp 复制代码
 alter table users drop password;

示例:(删除password)

(4)修改表名

语法:

cpp 复制代码
 alter table users rename to employee;

示例:

修改后:

恢复:

注意:

to:可以省掉!!!!

(5)修改列名

语法:

cpp 复制代码
 alter table employee change name xingming varchar(60); --新字段需要完整
定义

示例;

(上面的desc users 写为 desc user ,当数据库只有一个表是可以这样使用,正常情况下我们应当特只某个表eg:users)

5.删除表

语法:

cpp 复制代码
DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ...

示例: