oracle 常用sql

1、创建表空间
create tablespace TBS
2、创建用户
create user etlhss_y identified by XXX default tablespace TBS
3、赋予权限
grant connect,resource,dba to etlhss_y
4、创建数据库
CREATE database database_name
5、创建表
CREATE TABLE 表名称(列名称1 数据类型,列名称2 数据类型,列名称3 数据类型,....)
例子:
CREATE TABLE om_test
(
serial_no number(18,0) DEFAULT 0 NOT NULL,
channel_id varchar2(50) DEFAULT ' ' ,
channel_name varchar2(100) DEFAULT ' ' ,
client_version varchar2(255) DEFAULT ' ' ,
create_time number(14,0) DEFAULT to_number(to_char(sysdate,'yyyymmddhh24miss')) ,
update_datetime number(14,0) DEFAULT to_number(to_char(sysdate,'yyyymmddhh24miss'))
) TABLESPACE TBS;
NOT NULL是表示该字段不能为空 约束。
DEFAULT 0表示默认值为 0 。
//添加主键
ALTER TABLE om_test ADD CONSTRAINT om_delivery_channel_idx1 PRIMARY KEY(serial_no);
//添加唯一索引
CREATE UNIQUE INDEX om_delivery_channel_idx2ON om_test(channel_name ASC ,client_version ASC );
6、约束:UNIQUE
UNIQUE 约束唯一标识数据库表中的每条记录。
Id_P int NOT NULL UNIQUE,
每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。
多个列定义唯一约束:
create table test{
。。。
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
}
7、约束:primary key
PRIMARY KEY 约束唯一标识数据库表中的每条记录。
主键必须包含唯一的值。
主键列不能包含 NULL 值。
每个表都应该有一个主键,并且每个表只能有一个主键。
Oracle:
CREATE TABLE Persons(Id_P int NOT NULL PRIMARY KEY,。。。)
MySQL:
CREATE TABLE Persons(
。。。PRIMARY KEY,(Id_P))
多个列定义 主键 约束:
create table test{
。。。
CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)
}
SQL:
添加:
ALTER TABLE Persons ADD CONSTRAINT pk_PersonIDPRIMARY KEY(Id_P,LastName)
删除:
ALTER TABLE PersonsDROP CONSTRAINT pk_PersonID
8、约束:foreign key
一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。
CREATE TABLE Orders(Id_O int NOT NULL,OrderNo int NOT NULL,Id_P int,PRIMARY KEY (Id_O),CONSTRAINT fk_PerOrdersFOREIGN KEY (Id_P) REFERENCES Persons(Id_P))
SQL:
添加
ALTER TABLE Orders ADD CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P)REFERENCES Persons(Id_P)
删除:
ALTER TABLE Orders DROP CONSTRAINT fk_PerOrders
9、约束:DEFAULT
DEFAULT 约束用于向列中插入默认值。
CREATE TABLE Persons(。。。City varchar(255) DEFAULT 'Sandnes')
SQL:
添加
ALTER TABLE PersonsALTER COLUMN CitySETDEFAULT 'SANDNES'
删除
ALTER TABLE PersonsALTERCOLUMN CityDROP DEFAULT
10、索引:CREATE INDEX
表中创建索引,以便更加快速高效地查询数据。
用户无法看到索引,它们只能被用来加速搜索/查询。
CREATE INDEX index_name ON table_name (column_name)
创建索引虽然大大增加了查询效率,但是 修改更新 效率会变差。
11、Drop
删除索引、表和数据库。
DROP INDEX index_name
DROP TABLE 表名称
DROP DATABASE 数据库名称
Mysql:
ALTER TABLE table_name DROP INDEX index_name
12、TRUNCATE 清空表数据
TRUNCATE TABLE 表名称
13、ALTER TABLE修改表结构
ALTER TABLE 语句用于在已有的表中添加、修改或删除列。
添加
ALTER TABLE table_name ADDcolumn_name datatype
删除
ALTER TABLE table_name DROP COLUMN column_name
修改
ALTER TABLE table_nameALTER COLUMN column_name datatype
14、CREATE VIEW 创建视图
视图是基于 SQL 语句的结果集的可视化的表。
数据库的设计和结构不会受到视图中的函数、where 或 join 语句的影响。
CREATE VIEW view_name AS SELECT column_name(s)FROM table_nameWHERE condition
例子:
CREATE VIEW [Category Sales For 1997] AS SELECT DISTINCT CategoryName,Sum(ProductSales)AS CategorySalesFROM [Product Sales for 1997]GROUP BY CategoryName
SELECT * FROM [Category Sales For 1997]
删除视图:
DROP VIEW view_name
15、条件 IS NOT NULL
SELECT LastName,FirstName,Address FROM PersonsWHERE AddressIS NOT NULL
16、nvl()
若数据库数据为null,使用nvl()可返回0
oracle中nvl()
SQL Server中ISNULL()
Mysql中IFNULL()

17-23 主要用于SELECT查询

17、Top()
TOP 子句用于规定要返回的记录的数目。
取前两条
SELECT TOP 2 * FROM Persons
Oracle
SELECT *FROM PersonsWHERE ROWNUM <= 5
Mysql
SELECT *FROM PersonsLIMIT 5
取百分之50
SELECT TOP 50 PERCENT * FROM Persons
18、Like 搜索匹配
在 WHERE 子句中搜索列中的指定模式
SELECT * FROM PersonsWHERE City LIKE 'N%'
SELECT * FROM PersonsWHERE City LIKE '%lon%'
19、通配符 搜索匹配
% 替代一个或多个字符
_ 字符列中的任何单一字符
20、in 搜索范围
IN 操作符允许我们在 WHERE 子句中规定多个值。
SELECT *FROM table_nameWHERE column_name IN (value1,value2,...)
21、BETWEEN搜索范围
操作符 BETWEEN ... AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。
SELECT *FROM table_nameWHERE column_nameBETWEEN value1AND value2
取column_name在value1到value2之间的数值范围
22、join
用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
主键和外键
自连接
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM Persons, OrdersWHERE Persons.Id_P = Orders.Id_P
等同于
内连接
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsINNER JOIN OrdersON Persons.Id_P = Orders.Id_PORDER BY Persons.LastName
INNER JOIN: 如果表中有至少一个匹配,则返回行(只返回匹配的)
LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行(返回匹配的和左表)
RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行(返回匹配的和右表)
FULL JOIN: 只要其中一个表中存在匹配,就返回行(返回匹配的和不匹配的)
23、UNION 并
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2
24、Select 查询
SELECT 列名称
FROM 表名称
WHERE 列 运算符 值
AND/OR 列 运算符 值
GROUP BY 列
HAVING 函数(列)
ORDER BY 列 DESC/ASC

ORDER BY 根据列排序
GROUP BY 子句可以将查询结果按照某一列数据值进行分组。
GROUP BY 子句通常与统计函数联合使用
HAVING 因为where不能对函数,类似sum(OrderPrice)一起使用。当做where使用
25、INSERT 插入
INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
INSERT INTO Persons VALUES ('Gates', 'Bill', 'Xuanwumen 10', 'Beijing')
26、UPDATE 修改更新
UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值
UPDATE Person SET FirstName = 'Fred' WHERE LastName = 'Wilson'
27、DETLLE 删除
DELETE FROM 表名称 WHERE 列名称 = 值
DELETE FROM Person WHERE LastName = 'Wilson'
28、查询 函数
1)AVG() 返回 平均值
2)COUNT()返回 总行数
3)FIRST() 返回指定的字段中第一个记录的值
4)LAST() 返回指定的字段中最后一个记录的值。
5)MAX() 返回指定的字段中的最大值
6)MIN() 返回指定的字段中的最小值
7)SUM() 返回指定的字段中值得和
8)UCASE() 返回字段的值转换为大写。
9)LCASE() 返回字段的值转换为小写。
29、分页查询
SELECT a2.*
FROM (SELECT a1.*, ROWNUM rn FROM (SELECT * FROM emp ORDER BY sal) a1
WHERE ROWNUM<=10) a2
WHERE rn>=6;
指定查询列、查询结果排序等,都只需要修改最里层的子查询即可。

30、clob转String

dbms_lob.substr(content)

31、获取oracle数据库时间
select to_char(sysdate ,'yyyymmdd') from dual
select to_char(sysdate ,'hh24miss') from dual

32、查询用户的所有表
select t.table_name,t.comments from user_tab_comments t

33、查询用户和表空间关系
select username,default_tablespace from dba_users;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
目标检测(Object Detection)是计算机视觉领域的一个核心问题,其主要任务是找出图像中所有感兴趣的目标(物体),并确定它们的类别和位置。以下是对目标检测的详细阐述: 一、基本概念 目标检测的任务是解决“在哪里?是什么?”的问题,即定位出图像中目标的位置并识别出目标的类别。由于各类物体具有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测一直是计算机视觉领域最具挑战性的任务之一。 二、核心问题 目标检测涉及以下几个核心问题: 分类问题:判断图像中的目标属于哪个类别。 定位问题:确定目标在图像中的具体位置。 大小问题:目标可能具有不同的大小。 形状问题:目标可能具有不同的形状。 三、算法分类 基于深度学习的目标检测算法主要分为两大类: Two-stage算法:先进行区域生成(Region Proposal),生成有可能包含待检物体的预选框(Region Proposal),再通过卷积神经网络进行样本分类。常见的Two-stage算法包括R-CNN、Fast R-CNN、Faster R-CNN等。 One-stage算法:不用生成区域提议,直接在网络中提取特征来预测物体分类和位置。常见的One-stage算法包括YOLO系列(YOLOv1、YOLOv2、YOLOv3、YOLOv4、YOLOv5等)、SSD和RetinaNet等。 四、算法原理 以YOLO系列为例,YOLO将目标检测视为回归问题,将输入图像一次性划分为多个区域,直接在输出层预测边界框和类别概率。YOLO采用卷积网络来提取特征,使用全连接层来得到预测值。其网络结构通常包含多个卷积层和全连接层,通过卷积层提取图像特征,通过全连接层输出预测结果。 五、应用领域 目标检测技术已经广泛应用于各个领域,为人们的生活带来了极大的便利。以下是一些主要的应用领域: 安全监控:在商场、银行
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ligengdipan

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值