MYSQL对数据表的操作

这篇文章是:学习对数据表的增删改查操作:

 1.创建表的基本语法格式

Create table [if not exists] 表名(

字段名称  数据类型,

字段名称  数据类型,

字段名称  数据类型   -- 注意最后一行不要加逗号

) charset UTF8;

解释一下:if not exists 前后的中括号在实际写命令中不需要带上,这个命令的意思是如何该表存在就不执行后面创建代码,如果不存在就创建这个新表。第二个上面添加的注释,最后一个字段数据末尾千万不能带上逗号。这种格式在很多编程语言也存在,例如字典,或者json数据格式。

Create table if not exists student(

Number varchar(10),

 Name  varchar(10),

 Gender varchar(10),

 Age   int

)charset UTF8;

在cmd连接上数据库,输入如下命令试试。

MYSQL对数据表的操作

       发现,报错了,提示没有选择数据库。注意:要新建一个表,需要给这个表指定数据库,也就是告诉mysql这个表存储在哪个数据库下。一般来说,新建表需要指定数据库有两种方法。

1)  用数据库名.表名方式

MYSQL对数据表的操作

2)先使用use 数据库名,

MYSQL对数据表的操作

2. 查看所有数据表

show databases; 查看所有的数据库

查看一个数据库下所有表,需要先使用use 数据库名称,然后输入show tables;来查看一个数据库下所有表。

MYSQL对数据表的操作

2.查看部分表,模糊匹配

show databases like 'class%'

show tables like 'class_'

 MYSQL对数据表的操作

匹配规则’%’表示匹配多个结果,‘_’表示匹配一个结果。这里提醒一下,模式匹配查询的时候,最好采用前面确定,后面字段模糊的方法,这样效率更高。例如”class%”要比“%class”查找效率要高很多。

3.查看 表创建语句

语法:show create table 表名

MYSQL对数据表的操作

上面主要是想表达结尾的\g和写分号是一样的效果,下面结尾\G表翻转90度显示,效果如下。

MYSQL对数据表的操作

4.查看表的结构,也就是查看字段

desc tablename;

describe tablename;

show  columns from tablename;

1)  desc 表名

MYSQL对数据表的操作

2)  describe 表名

MYSQL对数据表的操作

3)  show columns from 表名

 MYSQL对数据表的操作

3. 对数据表的修改 

数据表操作包含表本身更新操作和表内字段更新操作。表本身修改操作主要有表名称修改和表字符集、校对集、存储引擎修改。

重命名: rename

修改表:alter

新增字段:  add

重命名字段:change

删除字段:drop

A 表重命名操作

语法格式:rename table 老表名to 新表名;

例子:

 MYSQL对数据表的操作

修改表的字符集

之前,我们在创建表的操作中字符集是UTF8,现在我把字符集改成GBK;

语法格式:alter table my_student charset GBK;

举例:

先查询当前表的字符集是什么格式,下面显示是UTF8;

MYSQL对数据表的操作

使用命令改成GBK;

MYSQL对数据表的操作

表字段修改,字段修改主要包括:新增,修改重名,删除

 

B字段新增

语法格式:alter table 表名add [column] 字段名数据类型 [列属性] [位置];

位置:新增字段名可以存放在表中任意位置。

常见参数:First:第一个位置, After:在哪个字段之后,例如after 字段名;默认:在当前表最后一个字段之后。

命令举例:

给学生表增加ID放第一个位置。之前表的字段如下

MYSQL对数据表的操作

也是就是,我们需要新增一个ID的字段,放在Number之前,命令如下:

 MYSQL对数据表的操作


C 修改字段:通常是修改属性或者数据类型

语法格式:alter table 表名 modify 字段名数据类型 [属性] [位置];

举例:

将my_student中的Number字段变成固定长度,且放在Name之后的位置。

MYSQL对数据表的操作

做了两个修改,数据类型从varchar改成char,位置调整到Name之后。

重命名字段

语法格式:alter table 表名 change 旧字段新字段名 数据类型 [属性] [位置];

命令举例:修改学生表中的gender为sex

MYSQL对数据表的操作

D删除字段

语法格式:alter table 表名 drop 字段名;

命令举例:删除学生表中的年龄字段;

 MYSQL对数据表的操作

4. Mysql删除数据表 Drop table tablename;

当删除数据表的指令执行之后会发生以下行为

1)在表空间内,没有了指定的表(数据也没有)

2)在数据库对应的文件夹下,表对应的文件也会被删除。




字段名称  数据类型,

字段名称  数据类型,

字段名称  数据类型   -- 注意最后一行不要加逗号

) charset UTF8;

解释一下:if not exists 前后的中括号在实际写命令中不需要带上,这个命令的意思是如何该表存在就不执行后面创建代码,如果不存在就创建这个新表。第二个上面添加的注释,最后一个字段数据末尾千万不能带上逗号。这种格式在很多编程语言也存在,例如字典,或者json数据格式。

Create table if not exists student(

Number varchar(10),

 Name  varchar(10),

 Gender varchar(10),

 Age   int

)charset UTF8;

在cmd连接上数据库,输入如下命令试试。

MYSQL对数据表的操作

       发现,报错了,提示没有选择数据库。注意:要新建一个表,需要给这个表指定数据库,也就是告诉mysql这个表存储在哪个数据库下。一般来说,新建表需要指定数据库有两种方法。

1)  用数据库名.表名方式

MYSQL对数据表的操作

2)先使用use 数据库名,

MYSQL对数据表的操作

2. 查看所有数据表

show databases; 查看所有的数据库

查看一个数据库下所有表,需要先使用use 数据库名称,然后输入show tables;来查看一个数据库下所有表。

MYSQL对数据表的操作

2.查看部分表,模糊匹配

show databases like 'class%'

show tables like 'class_'

 MYSQL对数据表的操作

匹配规则’%’表示匹配多个结果,‘_’表示匹配一个结果。这里提醒一下,模式匹配查询的时候,最好采用前面确定,后面字段模糊的方法,这样效率更高。例如”class%”要比“%class”查找效率要高很多。

3.查看 表创建语句

语法:show create table 表名

MYSQL对数据表的操作

上面主要是想表达结尾的\g和写分号是一样的效果,下面结尾\G表翻转90度显示,效果如下。

MYSQL对数据表的操作

4.查看表的结构,也就是查看字段

desc tablename;

describe tablename;

show  columns from tablename;

1)  desc 表名

MYSQL对数据表的操作

2)  describe 表名

MYSQL对数据表的操作

3)  show columns from 表名

 MYSQL对数据表的操作

3. 对数据表的修改 

数据表操作包含表本身更新操作和表内字段更新操作。表本身修改操作主要有表名称修改和表字符集、校对集、存储引擎修改。

重命名: rename

修改表:alter

新增字段:  add

重命名字段:change

删除字段:drop

A 表重命名操作

语法格式:rename table 老表名to 新表名;

例子:

 MYSQL对数据表的操作

修改表的字符集

之前,我们在创建表的操作中字符集是UTF8,现在我把字符集改成GBK;

语法格式:alter table my_student charset GBK;

举例:

先查询当前表的字符集是什么格式,下面显示是UTF8;

MYSQL对数据表的操作

使用命令改成GBK;

MYSQL对数据表的操作

表字段修改,字段修改主要包括:新增,修改重名,删除

 

B字段新增

语法格式:alter table 表名add [column] 字段名数据类型 [列属性] [位置];

位置:新增字段名可以存放在表中任意位置。

常见参数:First:第一个位置, After:在哪个字段之后,例如after 字段名;默认:在当前表最后一个字段之后。

命令举例:

给学生表增加ID放第一个位置。之前表的字段如下

MYSQL对数据表的操作

也是就是,我们需要新增一个ID的字段,放在Number之前,命令如下:

 MYSQL对数据表的操作


C 修改字段:通常是修改属性或者数据类型

语法格式:alter table 表名 modify 字段名数据类型 [属性] [位置];

举例:

将my_student中的Number字段变成固定长度,且放在Name之后的位置。

MYSQL对数据表的操作

做了两个修改,数据类型从varchar改成char,位置调整到Name之后。

重命名字段

语法格式:alter table 表名 change 旧字段新字段名 数据类型 [属性] [位置];

命令举例:修改学生表中的gender为sex

MYSQL对数据表的操作

D删除字段

语法格式:alter table 表名 drop 字段名;

命令举例:删除学生表中的年龄字段;

 MYSQL对数据表的操作

4. Mysql删除数据表 Drop table tablename;

当删除数据表的指令执行之后会发生以下行为

1)在表空间内,没有了指定的表(数据也没有)

2)在数据库对应的文件夹下,表对应的文件也会被删除。