MySQL base(数据库之MySQL基础·中文)

这篇博客介绍了MySQL数据库的基础知识,包括数据库介绍、数据操作、表结构的修改和约束条件,以及表间的关系。讲解了如何进行库、表的创建与删除,数据的增删改查,数据类型的使用,以及SQL查询语句。此外,还涉及到了表的修改,如ALTER命令,以及数据筛选、聚合与分组等操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MySQL base

数据库之MySQL基础·中文


MySQL 数据库

数据库介绍

关系型数据库(SQL)

​ 存储方式固定,安全

​ 分类储存;列表……

​ eg:MySQL

非关系型数据库(NoSQL)

​ 存储方式灵活,效率高,不太安全

​ 整体存储;像建立模型

​ eg:MongoDB

库,表操作
PDL-picture

——MySQL管理工具管理库,库中存放表,数据以字段的形式保存在表中。

MySQL不严格区分大小写,但为了程序美观,遵循大写为程序原代码,小写为自定义代码。

语句结束符:每个语句都以 ;或者 \g 结束。

类型:强制数据类型,任何数据都有自己的数据类型

root 账户 权限过高,需要新建一个账户

​ create user ‘qiye’@’%'identified by ‘qwe123’;

数据操作
库级操作

创建库:create database [if not exists] 库名 ;

​ 重复创建会报错, 可以加上if not exists

删除库:drop database [if exists] db_name;

​ 如果不知道数据库是否存在,记得加 if exists

使用数据库:use db_name;

显示所有的库:show databases;

查询当前使用的库:select database();

表级操作

显示所有的表:show tables;

创建表:create table [if not exists] 表名(id int ,name varchar(20)…)

​ 重复创建会报错, 可以加上if not exists

显示创建表的信息:show create table tb_name;

删除表:drop table tb_name

表中数据操作
增(insert into values)

指定字段插入:INSERT INTO tb_name(field_name) VALUES (field_values);

全字段插入:INSERT INTO tb_name VALUES (all_values);

多条插入:INSERT INTO tb_name(field_name) VALUES (value_1), (value_2), …;

删(delete from where)

删除表中所有数据:DELETE FROM tb_name;

删除表中满足条件的数据:DELETE FROM tb_name WHERE conditions;

改(update set where)

修改所有数据:UPDATE tb_name SET field_1=value_1

修改多个:UPDATE tb_name SET field_1=value_1, field_2=value_2 … WHERE conditions;

修改满足条件的数据:UPDATE tb_name SET field_1=value_1 WHERE conditions;

查(select from where)

指定字段查询:SELECT field_names FROM tb_name;

全字段查询:SELECT * FROM tb_name;

带条件的查询:SELECT field_names FROM tb_name WHERE conditions;

数据类型
数值类型

int

​ 四个字节(0,4294967295)

float(m,n)

​ 单精度浮点型(4个字节)

double(m,n)

​ 双精度浮点型,m总个数,d小数位(8字节)

不常用:tinyint、samllint、mediumint、bigint

字符类型

char(size)

​ 保存固定长度的字符串(可包含字母、数值以及特殊字符)。在括号中指定字符串的长度。最多255个字符

varchar(size)

​ 保存可变长度的字符串(可包含字母、数值以及特殊字符)。在括号中指定字符串的长度。最多255个字符。如果值的长度大于255,则被转换为text类型

text/blob

​ 文本格式,可存放最多65535字符

enum(枚举)

​ 只能在几项中选择

不常用:tinytext/tinyblob、text/blob、longtext/longblob、

时间日期类型

date:日期 格式:2019-04-16

time:时间 格式:09:32:43

datetime:日期时间 格式:2019-04-16 09:32:43

timestamp:自动存储记录修改的时间

year:存放年

MySQL取数据

筛选条件

比较运算符

——等同Python及其他程序语言

逻辑运算符

——and,or,not

其他操作:

——排序:order by

——限制:limit start,count

——去重:distinct

模糊/范围查询:

——%,任意多个字符

——_,任意一个字符

——between,区间

——in,目标是否存在表中

聚合与分组

常用聚合函数命令如同Excel

group by:分组

having:对聚合出来的数据进行筛选

where,在聚合分组前对数据进行筛选;group by,在聚合后再进行筛选

子查询

select 中嵌套 select

连接查询

内连接(inner join)

无条件内连接:又名交叉连接/笛卡尔连接 (交集)

eg:Mysql>select * from student [inner] join scoren

有条件内连接:在无条件连接上加上on自居,连接时,筛选有实际意义的记录来进行组合

修改表结构约束条件

alter 命令

对表的结构进行修改(不建议使用,应在设计表时就考虑到各种情况,宁多勿缺)

ALTER TABLE tab1 DROP i ; 删除tab1表中的i字段

ALTER TABLE tab1 ADD i INT; 在tab1中添在i字段,默认添在段尾。

——(FIRST,添在段首)……

ALTER TABLE tab1 MODIFY c CHAR(10); 修改字段c 的类型为CHAR(10)

ALTER TABLE tab1 CHANGE c x INT;修改字段名称及类型

ALTER TABLE tab1 RENAME TO tab2; 修改tab1表名为tab2;

约束条件

default 设定默认值(不设定即赋予默认值)

not null 不允许空值

unique key 该字段值唯一

auto_increment 自增加,可在定义字段类型后对自增加设定起始值以及步长

set @@auto_increment_increment=2; *--设置步长为2*

set @@auto_increment_offset=2;    *--设置初始值为3*

primary key 主键(非空+唯一)每张表中只能设定一个主键

foreign key 外键,子表字段设定外键所取值不能超过索引表

表关系

一对一

一对多

多对多

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fStardust

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值