测试数据库
mysql -V

测试数据
tipsource D:/news.sql;
命令行操作
- 连接命令
mysql -h host -P port -u user -p password - 步骤
win + r->cmd->mysql -u root -p enter->password

- 显示所有数据库
show databases;

- 指定要使用的数据库
use news;

- 显示所有的数据表
show tables;

- 执行sql

注意
其它sql语句都可以这样执行
并且接下来的所讲的都可以这样执行
但为了更方便的学习我们主要采用可视化工具方式教学
可视化工具navicat
还原数据库

打开运行sql语句界面

select
查询所有数据
select * from article

查询部分列
SELECT id,title,author FROM article

列别名
SELECT id 编号,title as 标题,author FROM article

Where
>
SELECT * FROM article WHERE id >100
<
SELECT * FROM article WHERE id <10
=
SELECT * FROM article WHERE id =100
区间
SELECT * FROM article WHERE id > 95 and id <100 SELECT * FROM article WHERE id BETWEEN 96 AND 99 SELECT * FROM article WHERE id in(96,97,98,99)
like
类型自动转换
没有通配符
SELECT * FROM article WHERE id LIKE '90'
_通配符SELECT * FROM article WHERE id LIKE '_1'
%通配符SELECT * FROM article WHERE id LIKE '%1'
Count & Concat
SELECT count(*) FROM article WHERE id LIKE '%1' #%通配符
SELECT * FROM article WHERE title = CONCAT('服务','指南')
Limit & Top
SELECT * FROM article limit 4 # 只查询前4条数据
SELECT * FROM article limit 2,4 # 第三条开始查询前4条数据
MSSQL
select * from Area
select top 3 * from Area
Order by
SELECT * FROM article ORDER by id DESC
分页
原始数据 1 2 3 4 5 6 7 8 9 10 11 分页要求 pageSize 4 pageIndex 2 limit 一个参数 or top 1 2 3 4 5 6 7 8 9 10 11 目标分页数 5 6 7 8 步骤 1 2 3 4 5 6 7 8 SELECT * FROM article LIMIT 8 #2*4 8 7 6 5 4 3 2 1 SELECT * FROM (SELECT * FROM article LIMIT 8) AS First ORDER BY id DESC 8 7 6 5 SELECT * FROM (SELECT * FROM article LIMIT 8) AS First ORDER BY id DESC LIMIT 4 5 6 7 8 SELECT * FROM (SELECT * FROM (SELECT * FROM article LIMIT 8) AS One ORDER BY id DESC LIMIT 4 ) AS Two ORDER BY id ASC

Easy
SELECT * FROM article LIMIT 4,4

More
EXPLAIN SELECT * FROM (SELECT * FROM (SELECT * FROM article LIMIT 8) AS One ORDER BY id DESC LIMIT 4 )AS Two ORDER BY id ASC

EXPLAIN SELECT * FROM article WHERE id= 3

insert
#要插入所有列
INSERT INTO 表名称 VALUES (值1, 值2,....)
#指定所要插入数据的列:
INSERT INTO 表名称 (列1, 列2,...) VALUES (值1, 值2,....)
update
# 更新指定数据
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
# 所有数据
UPDATE 表名称 SET 列名称 = 新值
delete
# 删除某些数据
DELETE FROM 表名称 WHERE 列名称 = 值
# 删除所有数据
DELETE FROM 表名称
DELETE * FROM 表名称
SELECT步骤
(8) SELECT (9)DISTINCT
(11)
(1) FROM
(3)JOIN
(2) ON
(4) WHERE
(5) GROUP BY
(6) WITH {CUBE | ROLLUP}
(7) HAVING
(10) ORDER BY
每个步骤产生一个虚拟表,该虚拟表被用作下一个步骤的输入。
只有最后一步生成的表返回给调用者。如果没有某一子句,则跳过相应的步骤。
1. FROM:对FROM子句中的前两个表执行笛卡尔积,生成虚拟表VT1。
2. ON:对VT1应用ON筛选器。只有那些使
