MySQL数据库的特点、语法、指令...
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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!