ORACLE
以下素材来自菜鸟教程
https://www.runoob.com/sql/sql-wildcards.html
1、SELECT DISTINCT
(1)SELECT DISTINCT 语句用于返回唯一不同的值。
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
select distinct t.xh from test_xsmm t
2、WHERE 子句
WHERE 子句用于过滤记录。
SELECT column_name,column_name
FROM table_name WHERE column_name operator value;
WHERE 子句中的运算符
select t.* from test_xsmm t where xh='13117xxxx'
(4)补充
逻辑运算的优先级
() not and or
3、AND & OR 运算符
4、ORDER BY 关键字
(1)ORDER BY 关键字用于对结果集进行排序。默认升序,,降序使用desc
select t.* from test_xsmm t order by xuhao
SELECT column_name,column_name FROM table_name ORDER BY column_name,column_name ASC|DESC;
5、INSERT INTO 语句
(1)INSERT INTO 语句用于向表中插入新记录。
(2)语法1:第一种形式无需指定要插入数据的列名,只需提供被插入的值即可
INSERT INTO table_name VALUES (value1,value2,value3,…);
insert into test_xsmm values ('170301','测试2','131233123','4413123214231','101');
(3)语法2:需要指定列名及被插入的值
INSERT INTO table_name (column1,column2,column3,…) VALUES (value1,value2,value3,…);
insert into test_xsmm (xh,xuhao) values ('170302','444');
6、UPDATE 语句
(1)UPDATE 语句用于更新表中的记录。
UPDATE table_name SET column1=value1,column2=value2,... WHERE some_column=some_value;
如果没有WHERE 子句,所有的记录都将被更新!
(2)
update websites t set t.alexa='999' where t.alexa='913'
7、DELETE 语句
(1)DELETE 语句用于删除表中的行。
DELETE FROM table_name WHERE some_column=some_value;
如果是删除整个表的记录:
DELETE * FROM table_name
(2)
DELETE from websites where alexa='999'
(4)拓展
delete:删除表的内容,表的结构还存在,不释放空间,可以回滚恢复;
drop:删除表内容和结构,释放空间,没有备份表之前要慎用;
truncate:删除表的内容,表的结构存在,可以释放空间,没有备份表之前要慎用;
8、SELECT TOP, LIMIT, ROWNUM 子句
(1)用于规定要返回的记录的数目。
MySQL 支持 LIMIT 语句来选取指定的条数数据, Oracle 可以使用 ROWNUM 来选取。
(2)语法
MYSQL语法
SELECT column_name(s)
FROM table_name
LIMIT number;
实例
SELECT * from websites LIMIT 2
Oracle 语法
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;
SELECT t.* from gy_user t where rownum<=2
反向获取最后几行,可先查询出来在倒序排列
9、 LIKE 操作符
(1)LIKE 操作符用于在 WHERE 子句中搜索列中的指定模式。
(2)
SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;
(3)
SELECT * from websites where name like '%g%';
10、通配符
(1)%
参考第9点
(2)_:替代一个字符
SELECT * from websites where name like '_oole';
(3)[charlist] /[^charlist] 匹配字符列中的任何单意字符
或[!charlist]不在字符列中的任何单一字符
参考:[https://www.runoob.com/sql/sql-wildcards.html]
11、创建表+查看表结构+主键
主键的作用就是确定数据的唯一性,假如我给员工的id添加了主键约束,那么这个id永远不可能重复
这里将id和name一起作为主键,则需要符合两两之间id和name都不一样的条件
12、IN语法
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1,value2,...);
跟where的对比
相同点:均在WHERE中使用作为筛选条件之一、均是等于的含义
不同点:IN可以规定多个值,等于规定一个值
13、BETWEEN 操作符
SELECT column_name(s)
FROM table_name
WHERE column_name BETWEEN value1 AND value2;
(1) BETWEEN … AND …
(2) NOT BETWEEN
(3)带有 IN 的 BETWEEN
查找id不为8,9且alxes在1到30之间
(4)带有文本值的 BETWEEN
查找name开头为a到g