数据库的基本操作(四)

--SELECT 查询使用--
在表中,一个列可能会包含多个重复值,仅仅列出不同(distinct)的值。
DISTINCT 关键词用于返回唯一不同的值。

select distinct 列名 from 表名 --筛选出这个列里面唯一的值

例如

select distinct bby05 from bby1

-- SELECT 中 WHERE 子句使用

select * from bby1 where bca01=12

where子句中可以跟随的运算符
这里的where 后面可以跟以下运算符
"=" 等于
"<>" 不等于,也可以写成"!="
">" 大于
"<" 小于
">=" 大于等于
"<=" 小于等于
"between" 在某个范围之间
"like" 搜索模糊范围
"in" 指定针对于某个列的多个可能值

-- SQL AND & OR 运算符 --
--AND & OR 运算符用于基于一个以上的条件对记录进行过滤。

--如果第一个条件和第二个条件都成立,则 AND 运算符显示一条记录。
--筛选出bby1表中bca01等于12但bcf01大于2的信息
select * from bby1 where bca01 ='12' and bcf01>2

--如果第一个条件和第二个条件中只要有一个成立,则 OR 运算符显示一条记录。
select * from bby1 where bca01 ='12' or bcf01>2
--筛选出bby1表中bca01等于12或bcf01大于2的信息

--SQL ORDER BY 关键字
--ORDER BY 关键字用于对结果集进行排序。关键字用于对结果集按照一个列或者多个列进行排序。

--ORDER BY 关键字默认按照升序对记录进行排序。
select * from bby1 order by bby04

--order by 列名 desc 按照降序对记录进行排序。
select * from bby1 order by bby04 desc

--SQL INSERT INTO 语句
INSERT INTO 语句用于向表中插入新记录-语句可以有两种编写形式。

第一种形式无需指定要插入数据的列名,只需提供被插入的值即可:
insert into pass values (10,'小张','24','男','15596395557','山西太原')

第二种形式需要指定列名及被插入的值:
insert into pass (id, name ,age,sex, phone,address) values (1,'杨帆','16','男','19847935678','陕西商洛')

--SQL UPDATE 语句
UPDATE 语句用于更新表中的记录,UPDATE 语句用于更新表中的记录。
--修改命令
修改id是9的年龄为21,修改名字是“小吕”的年龄为22
update pass set age='21' where id='9'
update pass set age='22',sex='女' where name='小吕'

--SQL DELETE 语句
DELETE 语句用于删除表中的记录,语句用于删除表中的行。
--删除Websites中name 列中是Facebook值以及country是USA值的信息行
DELETE FROM Websites WHERE name='Facebook' AND country='USA';

--SQL SELECT TOP 子句
SELECT TOP 子句用于规定要返回的记录的数目。
注意:并非所有的数据库系统都支持 SELECT TOP 语句。

--查询前100行在bby1表中的信息
select top 100 * from bby1

--SQL SELECT TOP PERCENT 实例
在 SQL Server 中还可以使用百分比作为参数。

--下面的 SQL 语句从 bby1 表中选取前面百分之 50 的记录:
SELECT TOP 50 PERCENT * FROM bby1

--SQL LIKE 操作符
LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。

--查询bby1表中bby05列中“骨”开头的行信息,"%" 符号用于在模式的前后定义通配符。
select * from bby1 where bby05 like '骨%'

--查询bby1表中bby05列中“骨”开头的行信息,"_" 符号用于在模式的前后定义索引的字数,在骨后索引三个字符数。
select * from bby1 where bby05 like '骨___'

--查询bby1表中bby05列中不包含“骨”字的行信息,
select * from bby1 where bby05 not like '%骨%'

--SQL 通配符

通配符可用于替代字符串中的任何其他字符。
在 SQL 中,通配符与 SQL LIKE 操作符一起使用,通配符用于搜索表中的数据。
% 替代0个或多个字符
_ 替代一个字符串位置

--查询bby1表中bby06列“成人”开头的所有信息
select * from bby1 where bby06 like '成人%'

--SQL IN 操作符
IN 操作符允许您在 WHERE 子句中规定多个值。
--查询在bby1表中bby05列名字是“科雷氏骨折切开复位内固定术” ,“髁状突陈旧性骨折整复术的信息”
select * from bby1 where bby05 in ('科雷氏骨折切开复位内固定术' ,'髁状突陈旧性骨折整复术')

--SQL BETWEEN 操作符
BETWEEN 操作符选取介于两个值之间的数据范围内的值。这些值可以是数值、文本或者日期。

--查询bby1表中bby01列从1到2300的数值
select * from bby1 where bby01 between 1 and 2300

--查询bby1表中bby01列不在1到2300的数值
select * from bby1 where bby01 not between 1 and 2300

--查询bby1表中bby01列不在1到2300的数值并且bca01不是139和140 的数值并按照bca01的升序排列
select * from bby1 where bby01 not between 1 and 2300 and bca01 not in (139,140) order by bca01

--查询bby1表中bby30列的时间介于“2020-10-21”和“2022-10-21”之间的所有创建记录
select * from bby1 where bby30 between '2020-10-21' and '2022-10-21'

--SQL 别名
通过使用 SQL,可以为表名称或列名称指定别名,创建别名是为了让列名称的可读性更强。

--查询表bby1的部分列并书写别名
select bby01 ID, bdn01 类型ID, bby04 编码,bby05 药品名称,bby06 规格,bby08 药品单位,bax01 收入项目,bby30 创建时间 from bby1 收费项目目录

--查询表bby1并将几个列组合成为一个列名书写别名
select bby01 ID, concat( bdn01,',', bby04,',',bby05,',',bby06,',',bby08,',',bby30) as 集合 from bby1

--查询表bby1中的连接项目,两者相互有一个同一个列来进行绑定两个viaode关系来进行查询
select c.BBY01,y.bdn01 from bby1 y ,bcs1 c where c.BBY01=y.BBY01

SQL
评论区
头像