SQL简单了解

1、什么是SQL?

SQL(英文全称: Structured Query Language)是结构化查询语言,专门用来访问和处理数据库的编程语言。能够让我们以编程的形式,操作数据库里面的数据。

三个关键点:
① SQL是一门数据库编程语言
② 使用SQL语言编写出来的代码,叫做SQL语句
③ SQL语言只能在关系型数据库中使用(例如MySQL、Oracle、SQL Server)。非关系型数据库(例如Mongodb)不支持SQL语言

2、SQL能做什么?

从数据库中查询数据
向数据库中插入新的数据
更新数据库中的数据
从数据库删除数据
可以创建新数据库
可在数据库中创建新表
可在数据库中创建存储过程、视图
etc...

SQL 语句的增删改查

增:INSERT INTO 用于向表中插入新的数据行语法格式如下

-- 语法解读:向指定的表中插入如下几列数据,列的值通过 values 指定
-- 注意:列和值要一一对应,多个列和多个值之间,使用英文的逗号分隔
INSERT INTO 表名称 (1,2, ...) VALUES (1,2, ...)

-- 示例
INSERT INTO my_db_01.users (userName, passWord) VALUES ('peiqi', '123456');

删: DELETE 语句用来删除表中的行

-- 语法解读
-- 从指定的表中,根据 WHERE 条件,删除对应的数据行
DELETE FROM 表名称 WHERE 列名称 =-- 示例
DELETE FROM my_db_01.users WHERE id = 5

改:UPDATE 语句用来修改表中的数据

-- 语法解读
-- 1、用 UPDATE 指定要更新那个表中的数据
-- 2、用 SET 指定列对应的新值
-- 3、用 WHERE 指定更新的条件
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
-- 示例1:
UPDATE my_db_01.users SET userName = 'lqz' WHERE id = 4
-- 示例2:
UPDATE my_db_01.users SET userName = 'abc', passWord = 'abc' WHERE id = 4

SELECT 语句用来从表中查询数据

-- 从 FROM 指定的表中,查询出所有的数据。 * 表示所有列
SELECT * FROM 表名称
-- 示例1
SELECT * FROM my_db_01.users
-- 从指定的表中,查询指定列的数据
SELECT 列名称 FROM 表名称
-- 示例2
SELECT userName FROM my_db_01.users

SQL 的 WHERE 语句

-- 查询
SELECT 列名称 FROM 表名称 WHERE 列 运算符 值
-- 更新
UPDATE 表名称 SET=新值 WHERE 列 运算符 值
-- 删除
DELETE FROM 表名称 WHERE 列 运算符 值

可在WHERE 子句种使用的运算符

操作符描述
=等于
<>=
>大于
<小于
<=小于等于
>=大于等于
BETWEEN在某个范围内
LIKE搜索某种模式

注意:在某些SQl版本中<>可以写为!=

3.WHERE子句示例

可以通过WHERE子句来限定SELECT的查询条件:

--查询status为1的所有用户
 SELECT * FROM users WHERE status=13--查询id 大于2的所有用户
 SELECT * FROM users WHERE id>2
 --查询username不等于admin 的所有用户
 SELECT * FROM users WHERE username<>'admin'

AND 和 OR

AND和OR可在 WHERE子语句中把两个或多个条件结合起来。
AND表示必须同时满足多个条件,相当于JavaScript 中的&&运算符,例如 if (a !== 10 && a !== 20)
OR表示只要满足任意一个条件即可,相当于JavaScript 中的Ⅱ运算符,例如if(a !== 10|| a !== 20)

SQL的ORDER BY子句

ORDER BY语句用于根据指定的列对结果集进行排序。
ORDER BY语句默认按照升序对记录进行排序。
如果您希望按照降序对记录进行排序,可以使用DESC关键字。

-- 注意:如下两条SQL语句是等价的,
-- 因为ORDER BY默认进行升序排序;其中,ASC关键字代表升序排序
SELECT * FROM users ORDER BY status;
SELECT* FROM users ORDER BY status ASC;

ORDER BY子句-多重排序

对users 表中的数据,先按照 status字段进行降序排序,再按照username 的字母顺序,进行升序排序,示例如下:

SELECT* FROM users ORDER BY status DESC,username ASC

SQL的COUNT(*)函数

COUNT(*)函数用于返回查询结果的总数据条数,语法格式如下:

SELECT COUNT(*) FROM 表名称
-- 查询users表中status为0的总数据条数:
SELECT COUNT(*) FROM users WHERE status=0

使用AS为列设置别名

--将列名称从COUNT(*)修改为total
SELECT COUNT(*) AS total FROM users WHERE status=0

SQL查询时使用的关键字

关键字名称作用
IS NULL为空运算符判断值、字符串或者表达式是否为空
ISNOTNULL不为空运算符判断值、字符串或者表达式是否不为空
LEAST最小值运算符在多个值中返回最小值
GREATEST最大值运算符在多个值中返回最大值
BETWEEN AND判断一个值是否在两个值之间
ISNULL为空运算符判断值、字符串或者表达式是否为空
IN属于运算符判断值是否为列表中的任意一个值
NOT IN不属于运算符判断值是否不为列表中的任意一个值
LIKE模糊匹配运算符判断值是否符合模糊匹配规则
REGEXP正则表达式运算符判断值是否符合正则表达式
RELIKE正则表达式运算符判断值是否符合正则表达式
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值