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 =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.jpgSELECT id,xm,age,cj,CONCAT('http://localhost:3000',head_url) AS head_url from test;
count 统计
-- 统计 个数SELECT COUNT(*) from test WHERE age22;
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://www.jingyueyun.com/ask/622.html