详细分析MySQL数据库的基础用法

表的详细操作

数据类型

枚举与集合

存储引擎(了解即可)

库相关内容

MySQL一些默认库

information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等
performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象
mysql: 授权库,主要存储系统用户的权限信息
test: MySQL数据库系统自动创建的测试数据库

ps:部分MySQL可能没有test库,如笔者的8.0,用于sys代替了test库

创建数据库就不用说了(在上一篇有提到),了解一下创建数据库时的命名规则:

可以由字母、数字、下划线、@、#、$
区分大小写
唯一性
不能使用关键字如 create select
不能单独使用数字
最长128位

通常命名都是字母、数字、下划线、例如上面的@#$建议不要使用,后续我们如果通过代码连接库,里面的符号有可能会与代码的语法冲突。

表的详细操作

创建表的约束条件(详细留到下一章讲解)

create table student( id int not null, name varchar(10) not null # 最后一个字段不能使用逗号);

上面操作表示,约束了student这个表的id 和 name字段插入值时,不能为空

insert student values(null,'jack');

产生报错:ERROR 1048 (23000): Column ‘id’ cannot be null

告诉我们id不能为空

更改表的补充操作

约束条件是可有可无的,根据自身对表的需求。

修改表名

alter table 表名 rename 新表名;

增加字段

alter table 表名 add 字段名 数据类型 约束条件(根据需求添加);# 添加多个字段alter table 表名 add 字段名1 数据类型,add 字段名2 数据类型;# 在开头增加字段alter table 表名 add 字段 数据类型 first;# 在某个字段后面增加字段alter table 表名 add 字段 数据类型 after 字段;

删除字段

alter table 表名 drop 字段

修改字段

# 修改字段的类型或者约束条件alter table 表名 modify 新的数据类型 新的约束条件;# 修改整个字段alter table 表名 change 旧字段名 新字段名 新字段数据类型;# 修改字段名alter table 表名 rename column 原字段名 to 新字段名;

复制表

当我们通过select查询表的时候,呈现给我们的是一张:虚拟表,即存在内存中的内容,不能够保存下来,我们通过复制,可以拿到我们想要的表数据

创建一张表演示

insert student values(1,'jack'),(2,'tom'),(3,'jams'),(4,'rous');

详细分析MySQL数据库的基础用法

我们需要将id大于2记录的内容保存到一张新的表

create table new_studnet select * from student where id > 2;

详细分析MySQL数据库的基础用法


或者我们只是想复制表的数据结构,除了记录(数据)以外,其它所有信息

create table new_student2 select * from student where 0 > 1;

这种判断永远为假,表示无法复制表的记录,但是可以复制它的数据结构

详细分析MySQL数据库的基础用法

数据类型

1、整数类型:TINYINT SMALLINT MEDIUMINT INT BIGINT

作用:存储年龄,等级,id,各种号码等

不同的整数类型,存储的数值范围不同。

详细分析MySQL数据库的基础用法


比如:当我们选择int类型创建一个字段后,这张表就会多占用4个字节。我们需要根据自己存入值的范围来选择整数类型,可以节省空间。

2、浮点类型:float、double、decimal(可以写成dec)

作用:存储薪资、身高、体重、体质参数等

float(255,30) :整数可以支持到255个数字个数,并且支持30位以内的小数
double(255,30) :整数可以支持到255范围内,并且支持30位以内的小数
dec(65,30) :整数可以支持到60范围内,并且支持30位以内的小数
单精度浮点数(非准确小数值),m是数字总个数,d是小数点后个数。m最大值为255,d最大值为30

那么这三个浮点类型的区别在于哪里?答案是:精准度

实例:创建3张不同浮点类型的表

create table f1(id float(255,30));create table f2(id double(255,30));create table f3(id dec(66,30));

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。