MySQL数据库的特点、语法、指令...

2023-12-17 16:21:34

MySQL的特点包括:

1. 可靠性:MySQL是一个可靠的数据库系统,它具有高可用性和可靠性,并具有自动故障转移和恢复功能。

2. 可扩展性:MySQL可以扩展到支持数百万个并发连接和大量的数据,同时保持高性能。

3. 安全性:MySQL提供了多种安全功能,包括数据加密、访问控制、身份验证和审计功能。

4. 灵活性:MySQL支持多种存储引擎,包括InnoDB、MyISAM、Memory等,每个引擎都具有不同的特性和优点。

5. 性能:MySQL是一个高性能的数据库系统,它具有快速的读写速度和高效的查询性能。

6. 易于使用:MySQL具有易于使用的命令行界面和图形用户界面,可以轻松管理和操作数据库。

MySQL的应用场景包括:

1. 网站和应用程序:MySQL是一个流行的数据库系统,广泛用于各种网站和应用程序,包括电子商务、社交媒体、博客、论坛等。

2. 企业级应用程序:MySQL是一个可靠的数据库系统,可以用于各种企业级应用程序,包括ERP、CRM、人力资源管理等。

3. 数据仓库:MySQL可以用于构建数据仓库,用于存储和分析大量的数据。

4. 云计算:MySQL可以在云计算环境中使用,例如Amazon Web Services、Microsoft Azure等云平台。

?MySQL的基本组成包括:

1. 服务器:负责处理客户端请求、管理数据和执行SQL语句。

2. 客户端:与服务器通信,发送SQL请求并接收结果。

3. 存储引擎:负责数据存储和管理,如InnoDB、MyISAM等。

4. API:提供与其他编程语言(如PHP、Java、Python等)集成的接口。

MySQL的基本概念包括:?

1. 数据库:用于存储和管理相关数据的容器。

2. 表:数据库中的一种结构,包含行和列,用于存储具体数据。

3. 列:表中的一个字段,表示数据的一个属性。

4. 行:表中的一条记录,表示一个数据实体。

5. 索引:用于加速查询的数据结构。

数据类型

????????数值:int double

????????日期/时间:data

????????字符串类型:char varchar

终端操作指令

mysql -uroot -p    // -u后是用户名,-p是输入密码

select now();  // 显示当前时间

show databases;// 展示所有数据库

create database 库名; // 创建数据库

drop database 库名; // 删除数据库

use 库名// 选择数据库

create table 表格名 (name type , age type); // 创建表格

drop table 表格名; // 删除表格

增删改查

增加
// 增加数据
insert into 表格名 (id , name, ... ) values (1 , 张三, ... );
// 增加多条
insert into 表格名 (id , name, ... ) values (2 , 李四, ... ) , (3 , 王五, ... );
删除
// 删除数据  ? ? ?  条件
delete from 表格名 where id=1
修改
// 修改单个字段
update 表格名 set age=20 where name='李四';
// 修改多个字段
update qianduan1 set `name`='马四五', age=16 , addr='东四环' WHERE id=4;
查询
// 查询所有数据  条件 ( =  >  <   <=  >=  and(&) or(|) )
select * from 表格名;
// 查询范围数据
select * from 表格名 where age>=10 and age <=5;
// 查询指定字段
select name,id,age form 表格名 where age>=10 and age <=5;

SQL关于查询的语法

between 可以查询范围内数据
-- 年龄介于20-30之间的数据
SELECT * FROM xsb WHERE age BETWEEN 20 AND 30;
like 模糊查询
             ?  以王开头 ? 以力结尾 ? 含有力的   ? ? ? ? ?
SELECT * FROM xsb WHERE xm LIKE '王%'; ? ? '%力' ? ? ? ?'%子%'
not like 查询学生表中不姓“刘”的学生的情况。
SELECT * FROM xsb WHERE xm NOT LIKE '刘%';
limit 从索引开始 , 每页条数
分页原理: 每页3条

索引= (页码-1)*每页的条数

SELECT * FROM xsb LIMIT 0,3;
?
SELECT * FROM xsb LIMIT 1,3;
?
SELECT * FROM xsb LIMIT 3,3;
-- 第三页
SELECT * FROM xsb LIMIT 6,3;
?
SELECT * FROM xsb LIMIT 9,3;
order by 排序
DESC 降序 ASC 升序(默认)

SELECT * FROM xsb ORDER BY age ASC;
SELECT * FROM xsb ORDER BY age DESC;
?
-- 排序、分页
SELECT * FROM xsb ORDER BY age DESC LIMIT 0,3;
?
-- 多条件排序
SELECT * FROM test ORDER BY age ASC , cj DESC;
json 表连接

-- 前提:表之间有相同的字段 -- 左连接、右连接、内连接、外连接

SELECT cjb.xh,cjb.kch,kcb.kcm,cjb.cj FROM cjb LEFT JOIN kcb ON cjb.kch=kcb.kch;
?
SELECT * FROM cjb as a RIGHT JOIN kcb as b ON a.kch=b.kch;
-- 内连接
SELECT * FROM cjb as a INNER JOIN kcb as b on a.kch=b.kch;
SELECT * FROM cjb as a ?JOIN kcb as b on a.kch=b.kch;
?
-- 统计成绩排行前三的学生姓名
SELECT a.xm,c.kcm,b.cj FROM xsb asw s a 
JOIN cjb as b on a.xh=b.xh JOIN kcb as c ON c.kch=b.kch 
ORDER BY b.cj DESC 
LIMIT 3;
?
sum 求和
-- 求和
SELECT * FROM cjb;
SELECT SUM(cj) as zcj FROM cjb;
avg 平均
-- 平均成绩
SELECT AVG(cj) AS pjf FROM cjb;
max 最大值
-- 最高分
SELECT MAX(cj) AS maxScore FROM cjb;
min 最小值
-- 最低分
SELECT MIN(cj) AS maxScore FROM cjb;
concat 拼接
-- 拼接
-- http://localhost:3000/head/2342342.jpg
SELECT id,xm,age,cj,CONCAT('http://localhost:3000',head_url) AS head_url from test;
?
count 统计
-- 统计 个数
SELECT COUNT(*) from test WHERE age<20;
SELECT COUNT(*) as tTotal from test WHERE age>22;
round 随机
-- 随机取三个数据
SELECT * FROM test ORDER BY RAND() LIMIT 3;
group by 顺序
-- 对数据分组统计时必不可少的用法
-- 按男女进行分组
SELECT SSEX FROM STUDENT GROUP BY SSEX;

占位符

SQL占位符是一种占用SQL语句中某些值的标记或占位符。当执行SQL时,将使用该标记替换为实际的值,并将这些值传递给查询。SQL占位符使查询更加安全,防止SQL注入攻击,并且可以提高性能。我们可以通过占位符来对数据先不处理,后续输入。

1.问好占位符
SELECT * FROM customers 
WHERE first_name = ? AND last_name = ?
?
let [err0, rst0] = await db.operator(`SELECT * FROM reg WHERE user=?`, [name]);//占位符
2.命名占位符
SELECT * FROM customers 
WHERE first_name = :first_name AND last_name = :last_name

文章来源:https://blog.csdn.net/XwhYsw/article/details/132743597
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。