MYSQL详解及语法大全

本文详细介绍了SQL的基本概念,包括SELECT、INSERT INTO、UPDATE、DELETE语句的使用,以及WHERE子句、AND和OR运算符、ORDER BY子句的应用,还有COUNT(*)函数和AS别名的设置,是MySQL数据库操作的基础指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SQL 语句

1. 什么是 SQL

1.SQL结构化查询语言,专门用来访问和处理数据库的编程语言。能够让我们以编程的形式,操作数据库里面的数据

  1. 三个关键点:

    • SQL 是一门数据库编程语言

    • 使用 SQL 语言编写出来的代码,叫做 SQL 语句

    • SQL 语言只能在关系型数据库中使用(例如 MySQLOracleSQL Server)。非关系型数据库(例如 Mongodb)不支持 SQL 语言

2.SQL 的 SELECT 语句

2.1语法介绍

1.SELECT 语句用于从表中查询数据。执行的结果被存储在一个结果表中(称为结果集)。语法格式如下

-- 这是注释
-- 从from指定的【表中】 查询出【所有的】数据。*表示【所有列】
SELECT * FROM 表名称

-- 从FROM指定的【表中】查询出指定列名称(字段)的数据
SELECT 列名称 FROM 表名称

2.注意:SQL 语句中的关键字对大小写不敏感SELECT 等效于 selectFROM 等效于 from

3.注意:在执行语句的时候,需要选择默认的数据库,双击选择指定的数据库即可

2.2演示两种 SELECT 语句

1.查询所有列写法

users 表中选取所有的列,可以使用符号 * 取代列的名称

案例代码

-- 通过 * 把 users 表中的所有的数据查询出来
   
   select * from users

 2.SELECT 列名称 示例

如需获取名为 usernamepassword 的列的内容(从名为 users 的数据库表),请使用下面的 SELECT 语句

案例代码

-- 多列之间,使用英文逗号进行分隔

select username, password from users

3.SQL 的 INSERT INTO 语句

1.语法

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

--语法解读 向指定的表中,插入如下几列数据,列的值通过value 指定
--注意 : 列和值要一一对应 多个列和多个值之间 用英文的逗号隔开
INSERT INTO   表名  (列一 , 列二  ...) VALUE (值一 , 值二 ...)
-- 推荐使用下面这种插入数据的方法,它结构更加清晰
INSERT INTO 表名 SET  字段1 = 值1,字段1 = 值1,字段1 = 值1;

2.案例代码

注意:新的数据需要加上引号,否则会报错

insert into users (username, password) values ('mz', '123456')

4. SQL 的 UPDATE 语句

1.语法

Update 语句用于修改表中的数据。语法格式如下

-- 语法解读
-- 1.用UPDATE 指定要更新哪个表中的数据
-- 2.用set 指定列对应的新值
-- 3.用WHERE 指定更新的条件
UPDATE 表名称  SET 列名称 = 新值 WHERE 列名称 = 某值

2.案例代码

1.多个被更新的列之间, 使用英文的逗号进行分隔

2.where 后面跟着的是更新的条件

3.注意: 我们经常忘记提供更新的 where 条件,这样会导致整张表的数据都被更新,一定要慎重

update users set password=654321 where id=4

5.SQL 的 DELETE 语句

1.语法

DELETE 语句用于删除表中的行

-- 语法解读
-- 从指定的表中 根据WHERE条件删除对应的数据行
DELETE FROM 表名称 WHERE 列名称 = 值

2.案例代码

注意: 我们经常忘记提供更新的 where 条件,这样会导致整张表的数据都被更新,一定要慎重

delete from users where id=4

6. WHERE 子句

1.WHERE 子句用于限定选择的标准。在 SELECTUPDATEDELETE 语句中,皆可使用 WHERE 子句来限定选择的标准

-- 查询语句中的 WHERE条件
SELECT 列名称  FROM 表名称 WHERE 列 运算符 值
-- 更新语句中的 WHERE条件
UPDATE 表名称  SET 列=新值 WHERE 列 运算符 值
-- 删除语句中的 WHERE条件
DELETE FROM 表名称 WHERE 列 运算符 值

 2.可在 WHERE 子句中使用的运算符

注意:在某些版本的 SQL 中,操作符 <> 可以写为 !=

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

例 :

-- 查询 id 为 1 的所有用户
select * from users where id=1

-- 查询 id 大于 2 的所有用户
select * from users where id>2

--查询 username 不等于 admin 的所有用户
select * from users where username<>'zs'

7. SQL 的 AND 和 OR 运算符

1.ANDOR 可在 WHERE 子语句中把两个或多个条件结合起来

2.AND 表示必须同时满足多个条件,相当于 JavaScript 中的 && 运算符,例如 if (a !== 10 && a !== 20)

3.OR 表示只要满足任意一个条件即可,相当于 JavaScript 中的 || 运算符,例如 if(a !== 10 || a !== 20)

4.案例代码

-- and
-- 使用 AND 来显示所有 status 为 0,并且 id 小于 3 的用户

select * from users where status=0 and id<3
-- or
-- 使用 OR 来显示所有 status 为 1,或者 username 为 zs 的用户

select * from users where status=0 or username='zs'

8. SQL 的 ORDER BY 子句

1.语法

(1)ORDER BY 语句用于根据指定的列对结果集进行排序

(2)ORDER BY 语句默认按照升序对记录进行排序,ASC 关键字代表升序排序

(3)如果您希望按照降序对记录进行排序,可以使用 DESC 关键字

2.ORDER BY 子句 - 升序排序

users 表中的数据,按照 status 字段进行升序排序

-- 下面这两条 SQL 语句是等价的,
-- 因为 order by 默认进行升序排序
-- 其中,ASC 关键字代表升序排序

-- select * from users order by status
select * from users order by status asc

3.ORDER BY 子句 – 降序排序

对 users 表中的数据,按照 id 字段进行降序排序

-- desc 代表降序排序

select * from users order by status desc

9. ORDER BY 子句 – 多重排序

1.对 users 表中的数据,先按照 status 字段进行降序排序,再按照 username 的字母顺序,进行升序排序

2.案例代码

select * from users order by status desc, username asc

10. SQL 的 COUNT(*) 函数

1.COUNT(*) 函数用于返回查询结果的总数据条数

SELECT COUNT(*) FROM 表名称

2.案例语法

select count(*) from users
-- 查询 users 表中 status 为 0 的总数据条数

select count(*) from users where status=0

11.使用 AS 为列设置别名

如果希望给查询出来的列名称设置别名,可以使用 AS 关键字

-- 将列名从 count(*) 修改为 total

select count(*) as total from users where status=0
-- 将列名 username 改为 uname, password 改为 upwd

select username as uname, password as upwd from users

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值