MySQL数据库从入门到精通02(基础篇)
admin
2024-03-01 18:12:19
0

一、MySQL概述

  1. MySQL数据库相关概念

    数据库:database,简称DB。按照一定的数据结构来组织 、存储和管理数据的仓库。
    数据库管理系统:database management system,简称DBMS。一种操纵和管理数据库的大型软件,用于创建、使用和维护数据库。

>关系型数据库(RDBMS):关系型数据库,是建立在关系模型基础上,由多张相互连接的二维表组成的数据库。

>>特点:1. 使用表存储数据,格式统一,便于维护;

2. 使用SQL语句操作,标准统一,使用方便;

3. 数据存储在磁盘中,安全。

>非关系型数据库:Not-Only SQL,泛指非关系型数据库,是对关系型数据库的补充。

>>特点:1. 数据结构灵活

2. 伸缩性强

SQL

>结构化查询语句(Structured Query Language),简称SQL。

>是一种操作关系数据库的编程语言,定义了一套操作关系数据库统一标准。

  1. MySQL数据库

    版本:

>社区版(MySQL Community Server):免费,MySQL不提供任何技术支持。

>商业版(MySQL Enterprise Edition):收费,试用30天,官方提供技术支持。

二、SQL

(一)mysql相关安装配置

1.下载:官网

2.卸载:

(1)停止mysql服务
  win+R→输入services.msc→服务→找到mysql并停止。
(2)卸载mysql程序,mysql免安装版的删除安装目录即可
  win+R→输入control→控制面板→卸载程序→找到mysql并卸载。
(3)彻底删除mysql配置文件和数据目录
  确保安装目录已删除干净,我的安装目录是C:\Program Files\MySQL\MySQL Server 5.5\;
找到隐藏的数据目录并删除,默认安装位置在C:\ProgramData\MySQL\目录下,删除其中对应旧版本的mysql的目录,我的数据目录是C:\ProgramData\MySQL\MySQL Server 5.5/。
3.清理注册表:

win+R→输入regedit→注册表编辑器

4.安装:

运行mysql-installer-community-8.0.26.0.msi

参照:https://blog.csdn.net/rainbow19931121/article/details/116807859

5.启动

进入服务——》services.msc——》找到mysql服务启动、停止

6.客户端连接

方式一:mysql提供的客户端命令行工具(第二个),然后输入密码就可以连接MySQL了

方式二:win+R打开命令窗口,然后输入mysql -u root -p,然后输入密码就可以连接MySQL。

7.数据模型

============================================================

(二)MySQL相关语法以及基本内容

  1. SQL通用语法

  2. SQL分类

3.DDL(数据库定义语言)——》数据库操作

(1)查询数据库

》查询所有数据库

show databases;

         》查询当前数据库 

select database();

(2)创建数据库

Create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];
create database test;
create database if not exists test default charset utf8mb4;

    (3)删除数据库

drop database [if exists]数据库名;

drop database test;
drop database if exists test;

(4)使用

user 数据库名;

use test;

(5)查询当前数据库所有表

show tables;

(6)查询表结构

desc 表名;

desc tb_user;

(7)查询指定表的建表语句

show create table 表名;

(8)表操作——创建表

create table 表名(
字段1 字段1类型[comment 字段1注释],
字段2 字段2类型[comment 字段2注释]
)[comment 表注释];

create table tb_user(
id int comment ‘编号’,
name varchar(50) comment ‘名字’,
age int comment ‘年龄’,
gender varchar(1) comment ‘性别’
)comment ‘用户表’;

(9)数据类型

MySQL中数据类型有很多,主要分为三类:数值类型、字符串类型、日期时间类型。

数值类型 大小 有符号(singned)范围 无符号(unsigned)范围 描述
tinyint 1 byte (-128,127) (0,255) 小整数值
smallint 2 byte (-32768,32767) (0,65535) 大整数值
mediumint 3 byte (-8388608,8388607) (0,16777215) 大整数值
int或integer 4 byte (-2147483648,2147483647) (0,4294967295) 大整数值
bigint 8 byte (-263,263-1) (0,2^64-1) 极大整数值
float 4 byte (-3.402823466 E+38,3.402823466351 E+38) 0和 单精度浮点数值
double 8 byte (-1.7976931348623157E+308,1.7976931348623157E+308) 0和 双精度浮点数值
decimal   依赖于M(精度)和D(标度)的值 依赖于M(精度)和D(标度)的值  小数值(精确定点数)

* 视频、音频属于二进制,使用blob

案例:

create table emp(
id int comment ‘编号’,
workno varchar(10) comment ‘工号’,
name varchar(10) comment ‘姓名’,
gender char(1) comment ‘性别’,
age tinyint unsigned comment ‘年龄’,
idcard char(18) comment ‘身份证号’,
entrydate date comment ‘入职时间’
)comment ‘员工表’;

(10)表操作——修改

—添加字段(列)
alter table 表名 add 字段名 类型{长度} [comment 注释][约束];
–案例:为emp表增加一个新的学段”昵称”为nickname,类型为varchar(20)
alter table emp add nickname varchar(20) comment ‘昵称’;

–修改数据类型
alter table 表名 modify 字段名 新数据类型(长度);
–修改字段名和字段类型
alter table 表名 change 旧字段名 新字段名 类型(长度)[comment 注释][约束];
–案例:将emp表的nickname字段修改为username,类型为varchar(30)
alter table emp change nickname username varchar(30) comment ‘用户名’;

–删除字段
alter table 表名 drop 字段名;
–案例:将emp表字段username删除
alter table emp drop username;

–修改表名
alter table 表名 rename to 新表名;
–案例:将emp的表名修改为employee
alter table emp rename to employee;

(11)表操作——删除(在删除表时,表中的数据全部会删除)

–删除表
drop table [if exists] 表名;
–案例:删除tb_user表
drop table if exists tb_user;

–删除指定表,并重新创建该表
truncate table 表名;
–案例:删除重新创建表employee
truncate table employee;

  1. DML:数据操作语言,用来对数据库中表的数据记录进行更新。

(1)插入insert

–向表中插入某些列
insert into 表(列名1,列名2,…) values(值1,值2,…);
–向表中插入所有列
insert into 表 values(值1,值2,…);

–例1:
INSERT INTO student(sid,NAME,gender,age,birth,address,score)
VALUES(1001,‘张三’,‘男’,10,DATE(‘1996-12-23’),‘北京’,‘83.6’);
–例2:
INSERT INTO student VALUE(1002,‘张’,‘男’,12,DATE(‘1996-12-23’),‘南京’,‘82.6’);
–例3;
insert into student(sid,name,gander,age,birth,address,score)
values(1001,‘张三’,‘男’,10,‘1996-12-23’,‘北京’,‘83.6’),
(1002,‘李四’,‘男’,11,‘1995-12-23’,‘南京’,‘83.5’);

(2)删除delete

delete from 表名 [where 条件];
truncate table 表名; 或者 truncate 表名;
–例1:删除id为1004的学生数据
DELETE FROM student WHERE id=1004;
–例2:删除所有数据
delete from student;
–例3:清空表数据
truncate student;
–delete只删除内容,不涉及表,truncate相当于把表删了重新建

(3)更新update

update 表名 set 字段名=值,字段名=值,。。。;
update 表名 set 字段名=值,字段名=值,。。。where 条件;
–例1:将所有学生的地址修改为重庆
UPDATE student SET address=‘重庆’;
–例2:将id为1002的学生的地址修改为北京
UPDATE student SET address=‘北京’ where id=1002;
–例3:将id为1004的学生地址修改为北京,成绩修改为100
UPDATE student SET address=‘北京’,score=100 where id=1004;

5.DQL——数据查询语言(select)

select
字段列表
from
表名列表
where
条件列表
group by
分组字段列表
having
分组后条件列表
order by
排序字段列表
limit
分页参数

(1)基本查询

–1.查询多个字段
select 字段1,字段2,。。。 from 表名;
select * from 表名;
–2.设置别名
select 字段1 [as 别名1],字段2 [as 别名2],。。。from 表名;
–3.去除重复记录
select distinct 字段列表 from 表名;

(2)条件查询(where)

–1.语法
select 字段列表 from 表名 where 条件列表;
–2.条件
------比较运算符
<、>、<=、>=、<>(不等于!=)、between … and …(范围内)、in(多选一)、like(模糊匹配)、is null
------逻辑运算符
and && (多个条件同时成立)
or || (多个条件任意一个成立)
not !(不是)

(3)聚合函数(count、max、min、avg、sum)

–1.介绍
将一列数据作为一个整体,进行纵向计算。
–2.常见聚合函数
count 统计数量
max 最大值
min 最小值
avg 平均值
sum 求和
–3.语法
select 聚合函数(字段列表) from 表名;

(4)分组查询(group by)

–1.语法
select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
–2.where与having区别
执行时机不同:where是分组之前进行过滤,having是分组后过滤。
判断条件不同:where不能对聚合函数进行判断,having可以。

(5)排序查询(order by)

–1.语法1
select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;
–2.排序方式
asc:升序
desc:降序
–注意:如果多个字段排序,第一个字段值相同,会根据第二个字段排序。

(6)分页查询(limit)

–1.语法
select * from 表名 limit 起始索引,查询记录数;
–2.注意
起始索引从0开始。起始索引=(查询页码-1)*每页显示记录数。
分页查询是数据库的方言,不同数据库不同。
如果查询为第一页,起始索引可以省略,直接limit 10。

(7)案例

–1.查询年龄为20,21,22,23岁的员工信息
select * from emp where gender=‘女’ and age in(20,22,21,23);
–2.性别为男,年龄在20-40,姓名是三个字
select * from emp where gender=‘男’ and age between 20 and 40 and name like ‘___’;
–3.统计年龄小于60岁的,男性和女性人数
select gender,count(1) ‘总数’ from emp where age <60 group by gender ;
–4.年龄小于等于35员工姓名年龄,按年龄升序,年龄相同按入职时间降序
select name,age from emp order by age asc ,entrydate desc;
–5.查询性别为男,年龄在20-30岁以内的前5个员工信息,查询结果按照年龄升序年龄相同按入职时间升序
select * from emp where age between 20 and 30 order by age asc,entrydate asc limit 5;

(8)执行顺序

    1、from

2、where

3、group by

4、

6.DCL

三、函数

四、约束

概念:约束(constraint),实际就是表中数据的限制条件。
作用:保证表中数据的有效性和完整性,例如手机号不能为空,身份证不能重复。
分类:主键约束

》概念:

》》MySQL主键约束是一个列或者多个列的组合,其值能唯一标识表中的一行数据。

》》主键约束相当于唯一约束+非空约束的组合,不允许重复和空值。

》》每个表最多只有一个主键。

》》主键约束关键字:primary key。

》》当创建主键约束时,系统默认会在所在的列和列组合上建立唯一索引。

》操作:

》》添加单列主键

》》添加多列联合主键

》》删除主键

–方式1
create table 表名(
<字段名> <数据类型> primary key
);
–方式2
create table 表名(
<字段名> <数据类型> ,
。。。
[constraint <约束名>] primary key [字段名]
);

create table emp2(
eid int,
name varchar(10),
deptID int,
salary double,
constraint pk1 primary key(eid)–pk1可以省略
);

–联合主键
create table emp2(
eid int,
name varchar(10),
deptID int,
salary double,
primary kay(name,deptID)–任意一个键都不能为null
);

    自增长约束非空约束唯一性约束默认约束零填充约束外键约束

五、多表查询

六、事务

相关内容

热门资讯

CTI华测检测与丰宾电子落地全... (全球TMT 2026年07月09日讯)6月26日,丰宾电子科技股份有限公司与华测检测认证集团股份有...
87家城商行上榜《2026年度... 7月8日,英国《银行家》杂志(The Banker)发布2026年度全球银行1000强榜单,该榜单以...
银行小程序“瘦身”潮起!流量红... 当遍地开花的银行小程序加速退场,一场以存量深耕、协同经营为核心的渠道重构正在银行业上演。7月9日,北...
微信小程序开发需要多久?从3天... 微信小程序开发需要多久?每个商家在启动项目前最关心的问题之一。时间就是成本,时间就是商机。在长沙云中...
商品老兵:现在是抄底黄金的最佳... 黄金价格较高点回调逾25%,但在大宗商品资深投资人看来,这场调整恰恰是难得的布局窗口。 近日,在Ri...
股价提前涨停!603986,上... 今日盘后,兆易创新(603986.SH)公告称,预计2026年半年度归属于上市公司股东的净利润为69...
担忧AI投资热潮!美联储,还是... 北京时间7月9日凌晨,美联储公布今年6月联邦公开市场委员会(FOMC)政策会议纪要。纪要显示,随着通...
1480亿,东莞草根女首富刚刚... “要么不做,要做就做第一。” 来源:元素elements 作者:李冰之 编辑:吾人 刚刚,鼎泰高科成...
原创 一... 路过小区街边,总能看见不少经营多年的烟酒商行贴着转让告示。 前阵子楼下开了十多年的老店清仓甩货,成箱...
珞石赴港,“机器人们”等待上岸 盘中最高涨超17%,港股再迎来自机器人赛道的优质标的。 7月9日,覆盖工业机械臂、协作机器人、具身智...
日经225指数日内涨幅达1% 日经225指数日内涨幅达1%。
安全可信,算力赋能智慧医疗!山... 近日,山一大一附院(省千佛山医院)“基于安全可信框架的分布式大模型算力服务项目”已完成招标,后续建设...
乔路铭开启申购即将登陆北交所:... 拥有已授权专利113项,构建起覆盖主流车企的供应体系。 2026年7月8日,乔路铭科技股份有限公司(...
燧原科技科创板IPO注册获证监... 证监会批复同意燧原科技科创板IPO注册。 7月9日晚间,证监会发布《关于同意上海燧原科技股份有限公司...
13年全职太太出任董事,营销总... 来源丨时代商业研究院 作者丨陆烁宜 编辑丨郑琳 IPO前连续3年大笔分红后欲募资补流,合理性遭遇北交...
年内“再卸一基”!广发明星基金... 红星资本局7月9日消息,近日,广发基金公告称,基金经理郑澄然“再卸一基”,不再管理广发兴诚混合(基金...
活力中国调研行 | 在上海,答... 【大河财立方 记者 夏晨翔 文 王子阳 摄影】“遂古之初,谁传道之?上下未形,何由考之?”2300年...
原创 2... 美联储新掌门凯文·沃什开完首场议息会,点阵图直接抹掉今年降息预期,9名票委还支持年内再加,美元指数当...
快餐、烘焙之后,商超巨头们又看... 文 | 红餐网 “15.8元自选快餐”“18元韩国拌饭”“青蟹98元一只现捞现蒸”,消费者推着购物...
从工业重镇到“场景招商” “铜... 中新网兰州7月9日电 (杨娜)第三十二届中国兰州投资贸易洽谈会9日在兰州启幕,素有“铜城”美誉之称的...