MYSQL&SQL
1、概述
1.1、什么是mysql#
MySQL是一个
关系型数据库管理系统
,由瑞典 MySQL AB 公司开发,属于 Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL 是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一
1.2、什么是关系型数据库#
关系型数据库,是指采用了
关系模型
来组织数据的数据库,其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。用户通过查询来检索数据库中的数据,而查询是一个用于限定数据库中某些区域的执行代码。关系模型可以简单理解为二维表格模型,而一个关系型数据库就是由 二维表及其之间的关系 组成的一个数据组织。
1.3、mysql程序结构#
1.4、数据库的相关概念#
-
DB
数据库:存储数据的仓库,保存了一系列有组织的数据
-
DBMS
数据库管理系统,数据库是通过DBMS创建和操作的容器
-
SQL
结构化查询语言,专门用来与数据库通信的语言,几乎所有DBMS都支持SQL
1.5、SQL语言的分类#
-
DML
数据操纵语句,用于添加、删除、修改、查询数据库记录,并检查数据完整性
INSERT:添加数据到数据库中 UPDATE:修改数据库中的数据 DELETE:删除数据库中的数据 SELECT:选择(查询)数据
-
DDL
数据定义语句,用于库和表的创建、修改、删除
CREATE TABLE:创建数据库表 ALTER TABLE:更改表结构、添加、修改、删除列长度 DROP TABLE:删除表 CREATE INDEX:在表上建立索引 DROP INDEX:删除索引
-
DCL
数据控制语句,用于定义用户的访问权限和安全级别
GRANT:授予访问权限 REVOKE:撤销访问权限 COMMIT:提交事务处理 ROLLBACK:事务处理回退 SAVEPOINT:设置保存点 LOCK:对数据库的特定部分进行锁定
2、怎么进入mysql
- 打开命令提示符
- 输入命令
mysql -u root -p
- 回车输入密码
- 输入
exit
退出mysql
3、mysql的语法规范
- 不区分大小写
- 每句话以;或者\g结尾
- 各子句一般分行写
- 关键字不能缩写也不能分行
- 用缩进提高语句的可读性
4、数据处理之查询
4.1、基本的select语句#
-
选择表和选择列的关键字
SELECT 标识选择哪些列 FROM 标识从哪个表中选择
-
选择全部列
SELECT *
-
选择特定列
SELECT id, name, age
-
列的别名
紧跟列名、也可以使用关键字AS进行连接、别名可以使用双引号
select last_name AS name select last_name name select last_name "name"
-
显示表结构
describe tableName desc tableName
4.2、过滤和排序数据#
4.2.1、比较运算符#
操作符 | 含义 |
---|---|
= | 等于(不是==) |
> | 大于 |
>= | 大于等于 |
< | 小于 |
<= | 小于等于 |
<> | 不等于(!=) |
select name from user where id=2;
select id from user where name='李四';
4.2.2、其他运算符#
操作符 | 含义 |
---|---|
between...and... | 在两个值之间(包含边界) |
in(set) | 等于值列表中的一个 |
like | 模糊查询 |
is null | 空值 |
-
between
查询user表所有列中id在2到10之间记录(包含边界)
select * from user where id between 2 and 10;
-
in
查询user表所有列中id等于1,2,3,100的记录
select * from user where id in(1,2,3,100);
-
like
% 代表零个或多个字符;_ 代表一个字符
在所有记录中查询name的第二个字符是四的记录
select * from user where name like '_四'; select * from user where number like '10%';
-
null
查找id是空值的记录
select * from user where id is null;
4.2.3、逻辑运算符#
操作符 | 含义 |
---|---|
and | 与 |
or | 或 |
not | 非 |
-
and
查询id小于10,并且number的前两个字符是10的记录
select * from user where id<10 and number like '10%';
-
or
select * from user where id<20 or number like '10%';
-
not
select * from user where id not in(1,2,3,100);
4.2.4、排序#
-
使用
order by
进行排序 -
支持别名排序
-
支持多列排序(当前一个列中存在多个相同的值时)
-
asc
升序 -
desc
降序 -
order by 子句在 select 语句的结尾
select * from user order by id; select * from user order by id desc; select * from user order by id asc; select * from user order by id,age asc;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现