网站首页 > 技术文章 正文
本文只考虑mysql、SQL Server、Oracle
sql对大小写不敏感
可以把sql分为两部分:数据操作语言(DML)和数据定义语言(DDL)
查询和更新指令构成了SQL的DML部分:select-从数据库表中获取数据,update-更新数据库表中的数据,delete-从数据库中删除数据,insert into-像数据库表中插入数据
sql的数据定义语言(DDL)部分使我们有能力创建或删除表格。我们也可以定义索引(键),规定表之间的连接,以及施加表之间的约束。:
sql中重要的DDL语句:
create database-创建数据库
alter database-修改数据库
create table-创建新表
alter table-改变数据库表
drop table-删除表
create index-创建索引(搜索键)
drop index-删除索引
如需从 Company" 列中仅选取唯一不同的值,我们需要使用 SELECT DISTINCT 语句:SELECT DISTINCT Company FROM Orders
以字母顺序显示公司名称(Company),并以数字顺序显示顺序号(OrderNumber):SELECT Company, OrderNumber FROM Orders ORDER BY Company, OrderNumber(先以Company列为标准进行排列,Company列名称相同的 在以OrderNumber列为标准排列)
以逆字母顺序显示公司名称:SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC
以逆字母顺序显示公司名称,并以数字顺序显示顺序号:SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC(先以Company列为标准进行逆字母顺序排列,Company列名称相同的 在以OrderNumber列为标准进行升序排列)
INSERT INTO 表名称 VALUES (值1, 值2,....)
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
delete语句用于删除表中的行:delete from person where lastName = ‘Wilson’,删除了lastName为Wilson的那一行所有数据
delete from person,删除了person表中的所有数据
更新某一行的一个列:update person set firstName = ‘fred’ where lastName = ‘wlison’
更新某一行的很多列:update person set firstName = ‘sss’,city = 'nanjing' where lastName = ‘alison’
top子句(只对SQL Server中管用)
top子句用于规定返回的记录的数目,对于拥有数千条数据的大型表来说,top非常有用
只对SQL Server中管用:select top 3 * from goods;
select top 50 percent * from goods;(选取表中前百分之五十的数据)
MySQL:slelect * from goods limit 3;
Oracle:select * from goods ROWNUM <= 3;
like子句(“%”可用于定义通配符、模式中缺少的字符)
select * from goods where goods_name like '%ewq%'
select * from goods where goods_name like 'q%'
select * from goods where goods_name like '%e'
select * from goods where goods_name like 'ewq%qwe'
通配符(在搜索数据库中的数据时,sql通配符可以替代一个或多个字符。sql通配符必须与like运算符一起使用。)
a.%通配符,同上
b._通配符
“_”只能代表一个字符,只是替代了一个字符而已,其他位置字符必须一样
select * from goods where goods_name like '_qwqw'
select * from goods where goods_name like 'q_wqw'
c.[charlist]通配符(貌似对mysql不好使)
select * from goods where goods_name like '[ALN]%';(查找商品名称以A、L、N开头的的商品)
select * from goods where goods_name like '[!ALN]%';(查找商品名称不以A、L、N开头的的商品)
in子句(类似等于)
SELECT * FROM goods WHERE category_id IN (9999904,849) AND goods_name IN ('124','西红柿','青岛啤酒');
类似于
SELECT * FROM goods WHERE id = 1560 OR id = 1564;
between子句(操作符BETWEEN...AND会选取介于两个值之间的数据范围,这些值可以是数值、文本、日期,mysql中的between左右都包括)
SELECT * FROM goods WHERE goods_name BETWEEN '西红柿' AND '青岛啤酒';
SELECT * FROM goods WHERE category_id BETWEEN 99999909 AND 99999911;
having子句
在SQL中增加HAVING子句的原因是,where关键字无法与合计函数一起使用。
select customer,sum(orderPrice) from orders group by customer having sum(orderPrice)< 2000
select customer,sum(orderPrice) from orders where customer='bush' or customer='admin' group by customer having sum(orderprice)>1500
视图view:
视图就像是一个可视化的表
什么是视图:在sql中,视图是基于sql语句的结果集的可视化的表。
视图可以包含行和列,就像一个真实的表。视图中的字段就是来自一个或多个数据库的真实的表中的字段。我们可以向视图添加sql函数、where、join语句,我们也可以提交数据,就像这些来自于某个单一的表。
create view view_name as select column_name(s) from table_name where condition
视图总是显示最近的数据。每当用户查询视图时,数据库引擎通过使用sql语句来重建数据。
创建视图
CREATE VIEW [Current Product List] AS
SELECT ProductID,ProductName
FROM Products
WHERE Discontinued=No
查看视图
SELECT * FROM [Current Product List]
猜你喜欢
- 2024-10-31 Oracle 11g R2 图文安装教程 oracle11gr1安装教程
- 2024-10-31 数据迁移分享 数据迁移分享软件
- 2024-10-31 MySQL数据库解决区分大小写问题 mysql8区分大小写
- 2024-10-31 oracle数据库基础——统计字符串中特定字符串总数的方法
- 2024-10-31 oracle 学习笔记之——sql 语句优化
- 2024-10-31 分享一个神奇现象--插入数据提示表不存在但却能查到这个表?
- 2024-10-31 Oracle数据库 SQL语句和单行字符串函数
- 2024-10-31 oracle移植到mysql注意事项 oracle数据库迁移到mysql
- 2024-10-31 Oracle实现金额小写转大写函数 oracle 大小写
- 2024-10-31 PostgreSQL 是不是大小写敏感 plsql大小写
你 发表评论:
欢迎- 633℃几个Oracle空值处理函数 oracle处理null值的函数
- 626℃Oracle分析函数之Lag和Lead()使用
- 614℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 608℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 606℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 598℃【数据统计分析】详解Oracle分组函数之CUBE
- 588℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 573℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- oracle 19cOCM认证有哪些内容(oracle认证ocm月薪)
- Oracle新出AI课程认证,转型要持续学习
- oracle 表的查询join顺序,可能会影响查询效率
- Oracle DatabaseAmazon Web Services正式可用,Oracle数据库上云更容易了
- Oracle 19.28 RU 升级最佳实践指南
- 汉得信息:发布EBS系统安装启用JWS的高效解决方案
- 如何主导设计一个亿级高并发系统架构-数据存储架构(三)
- Java 后端开发必看!工厂设计模式轻松拿捏
- ORA-00600 「25027」 「x」报错(抱错孩子电视剧 爸爸是武术 另一个爸爸是画家)
- 新项目终于用上了jdk24(jdk新建项目)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)