2020年10月16日 22:24 __ _ _ _ _

文章配图

点击上方「 蓝字 」关注”程序员Bob”

每天与你不见不散!

文章配图
每日一句,送给最珍贵的你:

生命中真正重要的不是你遭遇了什么,而是你记住了哪些事,又是如何铭记的。

上次小编聊了关于MySQL的库操作,不知小伙伴是否还记得,如果想要熟练掌握,还是自己得多多上机实操啦。传送门:
MySQL基础学习之大战实操

小编将上次SQL的基本操作根据操作对象分为了三类,即:库操作;表操作(字段);数据操作。
聊完库操作,小编就可以开始表操作啦~

文章配图

表操作

数据表: DataTable 是一个临时保存数据的网格虚拟表(表示内存中数据的一个表)。且 表与字段是密不可分的。
对于表操作,小编这里也是将其分为对数据表的增删改查。

新增数据表

在对数据表进行操作之前,我们得先新建一个数据表,既然是表,我们就得将表分配在数据库中。在命令行窗口中,新建表的大致思路便是先选定所需数据库(必须先选定数据库),然后新建数据表。

新建数据表大致语句如下:


create table  [if not exists] 表名(字段名字 数据类型,字段名字 数据类型 -- 最后一行不需要逗号)[表选项];

新建表语句说明:
1.if not exists:如果表名不存在,那么就创建,否则不执行创建代码,即为检查功能。
2.表选项:控制表的表现形式

  • 字符集:

charset/character set 具体字符集:– 保证表中数据存储的字符集;

  • 校对集:

collate 具体校对集;

  • 存储引擎:

engine 具体的存储引擎(innodb和myisam);

不知 大家有没有发现上面的新建数据表语句其实有一个问题,即前面所说的没有指定数据库,那么我们该如何指定数据库呢,小编这里提供两种解决方案:
1.显示的指定表所属的数据库: create table 数据库.表名();即将当前数据表创建到指定的数据库下。 语句如下:


create table if not exists mydatabase.student(-- 显示的将表放到mydatabase数据库下)name varchar(10);gender varchar(10);number varchar(10);age int);charset utf8;

2.隐式的指定表所属数据库: 先进入到某个数据库环境,然后这样创建 的表自动归属到某个指定的数据库。

相关语句执行如下:


#进入数据库环境:use 数据库名字;-- 进入数据库->创建数据表use madatabase;    #分开执行create table class(    #创建表name varchar(10);)charset utf8;

那么当我们创建数据表的SQL语句被执行之后,会发生些啥呢?

  1. 指定数据库下已经存在对应的表。

  2. 在数据库对应的文件夹下,会产生对应表的结构文件(跟存储引擎有关系) To:.frm为结构文件(编译文件(可逆文件),需要反编译才能看)。

查看数据表

查看数据表:数据库能查看的方式都可以查看。

  1. 查看所有表语句:show tables;

  2. 查看部分表,模糊匹配语句为:show tables like ‘pattem’; 如:show tables like ‘%s’;(不推荐,效率低)

  3. 查看表的创建语句:show create table 表名;

  4. 查看表结构:查看表中的字段信息,Desc/describe/show columns from 表名;

相关语句执行如下:

-- 查看所有表show tables;   -- (先使用use进入数据库再执行语句)

执行如下:

文章配图

相关语句执行如下:

-- 查看以s结尾的表-- (先使用use进入数据库再执行语句)show tables like '%s'; #效率低

执行如下:

文章配图

相关语句执行如下:


-- 查看表创建语句show create table student\g    -- \g==;show create table student\G    -- 将查到的结构旋转90度变成纵向,有时候看起来舒服一点

执行如下:

文章配图

相关语句执行如下:

#查看表结构desc tables;

执行如下:

文章配图

修改数据表

表本身存在,还包含字段,表的修改分为两个部分:修改本身和修改字段。

修改表本身,表本身可以被修改,即修改表名和表选项。

修改表名语句:rename table 老表名 to 新表名;

修改表选项分为:字符集,校对集和存储引擎。 语句为:Alter table 表名 表选项 [=] 值;

修改字段,关于字段操作很多:新增,修改,重名,删除。

1.新增字段语句: Alter table 表名 add[column(可有可无)] 字段名 数据类型 [列属性] [位置];
位置:字段名可以存放在表中的任意位置 First:第一个位置;After:在哪个字段之后:after 字段名;默认是在最后一个字段之后。

相关语句执行如下:


-- 重命名表->my_student(取数据库名字前两个字母)rename table student to my_student
-- 修改表选项:字符集alter table my_student charset=GBK;
-- 给学生表增加ID放到第一个位置alter table my_studentadd column id int first; -- mysql自动寻找分号:作为结束符

2.修改字段语句 (修改通常是修改属性或者数据类型):alter table 表名 modify 字段名 数据类型 [属性] [位置] ;

相关语句执行如下:


-- 将学生表中的number学号字段变成固定长度,且放到第二位(id之后)alter table my_studentmodify number char(10) after id;

执行如下:

文章配图

3.重命名字段语句: alter table 表名 change 旧字段 新字段名 数据类型 [属性] [位置];

相关语句执行如下:


-- 修改学生表中的gender字段为sexalter table my_studentchange gender sex varchar(10);

执行如下:

文章配图

4.删除字段语句: alter table 表名 drop 字段名;

切记:如果表中已经存在数据,那么删除字段会清空该字段的所有数据(不可逆)。

相关语句执行如下:

-- 删除学生表中的年龄字段(age)alter table my_student drop age;

执行如下:

文章配图

文章配图

往期推荐:

Navicat Premium 15 连接MySQL安装教程 2020-10-10
文章配图

MySQL基础学习之大战MySQL 2020-10-13
文章配图

MySQL基础学习之大战实操 2020-10-15
文章配图

为你,千千万万遍.

关注 程序员Bob 公众号,与你一起终生学习

文章配图

一键三连,就差你了
文章配图

预览时标签不可点

阅读




__