sql执行语句

目录

1.什么是SQL

语法一:SELECT语句

语法二:INSERT INTO语句

语法三:UPDATA语句

语法四:DELETE语句

      (重点)---SQL语法总结!!!!(增删改查)

拓展1:WHERE子句

拓展2:SQL的 AND 和 OR 运算符

拓展3:SQL的ORDER BY 子句

拓展4:SQL的COUNT(*) 函数


1.什么是SQL

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

那SQL到底能做什么呢,下面我来带你了解SQL执行语句是如何操作数据库的:

语法一:SELECT语句

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

--  * 号表示查询表格中的所有数据
SELECT * FROM 表名称
-- 如果我们要查询表格中指定字段的数据
SELECT 列名称 FROM 表名称

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

语法二:INSERT INTO语句

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

-- 列和值要一一对应,多个列和多个值之间,使用英文的逗号分割
INSERT INTO table_name (列1, 列2,...) VALUES (值1,值2,...)

注意:新的数据需要加上引号,否则会报错;插入成功之后会显示受影响的行数,不会显示数据

语法三:UPDATA语句

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

-- 用 UPDATA 指定要更新哪个表中的数据
-- 用 SET 指定列对应的新值
-- 用 WHERE 指定更新的条件
UPDATA 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

注意: 初学者经常忘记提供更新的 where 条件,这样会导致整张表的数据都被更新,一定要慎重!!!插入成功之后会显示受影响的行数,不会显示数据

语法四:DELETE语句

用于删除表中的行。语法格式如下:

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

注意: 初学者经常忘记提供更新的 where 条件,这样会导致整张表的数据都被更新,一定要慎重!!!插入成功之后会显示受影响的行数,不会显示数据

(重点)---SQL语法总结!!!!(增删改查)

查-----SELECT语句:查询数据

SELECT * FROM user // 查询全部数据
SELECT username,password FROM user  // 查询部分数据

增-----INSERT INTO语句:插入数据

INSERT INTO user (username,password) VALUES ('英子','000000')

改-----UPDATA语句:更新(修改)数据

// 表示将 id 为6的数据行的用户名(username)更新为 朱八
UPDATE user SET username = '朱八' WHERE id = 6

删-----DELETE语句:删除数据

// 表示删除id为2的数据行
DELETE FROM user WHERE id = 2

拓展1:WHERE子句

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

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

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

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

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

// 查询 id = 1 的所有用户
SELECT * FROM user WHERE id = 1
// 查询 id > 2 的所有用户
SELECT * FROM user WHERE id > 2
// 查询 username 不等于 admin 的所有用户
SELECT * FROM user WHERE username <> 'admin'

拓展2:SQL的 AND 和 OR 运算符

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

-- 使用 and 来显示所有status = 0,并且 id < 3 的用户--(这里的命令我采用了小写的方式,SQL 语句中的关键字对大小写不敏感

select * from user where status = 0 and id < 3

2.AND 相当于JS中的 && 运算符;OR 相当于JS中的 || 运算符

--使用 or 来显示所有 status = 1,或者 username = 'zs' 的用户

select * from user where status = 1 or username = 'zs'

拓展3:SQL的ORDER BY 子句

用于根据指定的列对结果集进行排序;

ORDER BY 子句-- ASC 关键字升序排序:

-- order by 默认升序排序,asc 关键字代表升序排序;

-- 按照 status 字段进行升序排序

select * from user order by status asc

ORDER  BY子句-- DESC 关键字降序排序:

-- order by 默认降序排序,desc 关键字代表降序排序;

-- 按照 id 字段进行降序排序

select * from user order by id desc

ORDER BY 子句-- 多重排序:

-- 对 user 表中的数据,先按照 status 字段进行降序排序,再按照 username 的字母顺序,进行升序排序;

select * from user order by status desc, username asc

拓展4:SQL的COUNT(*) 函数

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

-- 查询user表中所有数据的条数

select count(*) from user

-- 查询 user表中 status = 0 的总数据条数

select count(*) from user where status=0

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

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

select count(*) as total from user where status=0

-- 将列名 username 改为 uname , passwordupwd

select username as uname, password as upwd from user
  • 7
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
MyBatis是一个优秀的持久层框架,可以将数据库的操作变得非常简单和高效。在使用MyBatis执行SQL语句时,我们可以通过配置来开启或关闭MyBatis的日志记录功能,从而实现原样输出SQL执行语句。 要想在控制台输出MyBatis的SQL执行语句,我们可以通过在配置文件中配置`logImpl`属性为"log4j"、"java.util.logging"或"SLF4J"等日志实现类的全限定名,来实现日志的输出。 例如,如果我们使用log4j作为日志记录的实现,我们需要在配置文件中添加如下配置: ``` <configuration> <properties> <!-- 其他配置 --> <property name="mybatis.log.impl" value="org.apache.ibatis.logging.log4j.Log4jImpl"/> </properties> <!-- 其他配置 --> </configuration> ``` 配置完成后,MyBatis将使用log4j来进行日志记录,并将SQL执行语句原样输出到控制台或日志文件中,方便我们进行调试和优化。 当我们执行具体的SQL语句时,MyBatis会在日志中输出类似下面的信息: ``` DEBUG [main] statement - ==> Preparing: SELECT * FROM user WHERE id = ? DEBUG [main] statement - ==> Parameters: 1(Integer) ``` 可以看到,MyBatis首先会输出"Preparing",表示正在准备执行SQL语句;然后会输出"Parameters",表示SQL语句中的参数值。 通过这种方式,我们可以清晰地看到MyBatis执行SQL语句及参数值,方便我们进行调试和排查问题。同时,MyBatis还提供了其他一些配置项,可以进一步调整日志的输出方式和级别,以满足我们的需求。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值