oracle总结笔记whhhd

1)DML:Data Manipulation Language(数据操纵语言) insert,update,update

2)DQL:Data Query Language(数据查询语句) select

3)DDL:Data Definition Language(数据定义语言) create,alter,drop,rename,truncate

4)DCL:Data control language(数据控制语言) grant(分配权限),revoke(收回权限)

2.事务控制三种方式

(Transation control) commit(事务提交),rollback(事务回滚),savepoint(设置事务回滚点)

6.列的别名:别名中可以有空格,特殊字符,大小写敏感,需要双引号,如:select salary*12+200 "total salary" from s_emp;

9.数据库中的数据类型:   1.数值类型:number(p,s) p:有效位数 s:小数点后的取值位数   2.字符串类型:     char(s):定长字符串     varchar(s):变长字符串,所有关系数据库通用     varchar2(s):变长字符串,oracle公司定义   3.日期类型:     date

10.关于varchar和varchar2的区别:   1)varchar2把空串等同于null处理,varchar还是空串   2)varchar2是内部数据类型,varchar是外部数据类型   3)建议使用varchar2,对oracle具有很好的兼容性,   4)Oracle以特定格式表示数据,称为内部数据类型。

14.单行函数:需要处理的行数和返回结果的行数相等 1)字符串处理函数:   1)lower:字符串转小写   2)upper:字符串转大写   3)initcap:字符串首字母大写,其他字符小写   4)concat:字符串拼接     concat(first_name,last_name) 等价于 first_name||last_name   5)substr:字符串截取(原字符串,开始位置1开始,取得字符数)     获取last_name的倒数两位字符     substr(last_name,length(last_name)-1,2)   6)length:字符串长度 2)数值处理函数:   1)round(数值,想保留的小数精度)会四舍五入     如果小数精度为负数时,代表将小数点虚拟往左移,且将虚拟小数点后全部清零.     round(59,-1) => 60     round(59,-2) => 100     round(49,-2) => 0   2)trunc(数值,想保留的小数精度),不会进位     trunc(149,-2) => 100     trunc(49,-2)=> 0   3)mod:取余 3)日期处理函数:   伪列函数:没有参数的函数   1)查看系统时间:     select sysdate from dual;   2)查看系统时间戳:     select systimestamp from dual;   3)行号     select rownum from s_emp;     rownum注意:       1)<,<=无限制       2)=,>=只对1有意义       3)>无意义,可以使用between and.       4)rowid:行地址       select rowid from e_customer; 日期普通函数:   1)months_between:两个日期相差多少个月(日期格式要一致)   2)add_months(‘15-MAY-95’,6):15-MAY-95往后推6个月的日期作为返回值   3)next_day(‘15-MAY-95’,’FRIDAY’):15-MAY-95后面离得最近的星期五的日期作为返回值   4)last_day(‘15-MAY-95’):15-MAY-95这个月的最后一天的日期作为返回值   5)round(to_date('16-MAY-95','DD-MON-YY'),'month')     1)第二个参数为month,天向月进位,逢16进1     2)第二个参数为year,月向年进位,逢7进1   6)trunc:对日期进行舍位 15.类型转换函数:(也算是单行函数)   1)to_char(date/number,'fmt'):     将数值和日期类型转换为字符串类型,第二个参数用单引号,格式区分大小写.     1)日期格式:       YYYY:4位数字的年       YY:2位数字的年       RR:2位数字的年       MM:2位数字的月       DD:2位数字的天       YEAR:年的英文全拼       HH24:小时的24制       MI:2位数字的分钟       SS:2位数字的秒   千年虫问题:就是yy格式的日期,00不知道是1900还是2000   oracle9i新增了RR格式的,分四种情况,通过分为00~49和50~99两区间来判别     2)数字格式:       9:代表一位数字占位符       0:表示1位数字占位符,位数不够前面强制补0       fm:去掉空白和占位符0; 2)to_number:将字符串类型转换成数值类型   select to_number('100')   from dual; 3)to_date:将字符串转换为日期类型,第一个参数为字符串,第二参数为日期格式.   select to_date(sysdate,'yyyy-MM-dd HH24:mm:ss') from dual;   单行函数注意可以嵌套使用,从内向外进行计算.

17.组函数:(多条数据求出一个结果)   1)组函数:     1)avg:求平均值.     2)sum:求和.     3)min:求最小值     4)max:求最大值,以上可以操作任意数据类型.     5)count:统计记录条数   fx:统计非空记录条数?     select count(commission_pct) from dual; 2)组函数的注意点:   1).组函数和group by配合使用,进行分组,不然默认为算总表的数据为一组   2)where中不能使用组函数,对分组条件进行限制应该使用having子句     例如:查询部门平均工资大于1500的部门id和平均工资?     select dept_id,avg(salary)     from s_emp     group by dept_id     having avg(salary)>1500;

18.子查询:(将select语句嵌套在其他sql语句中,先执行select子句,将结果传给外围SQL继续处理) 例如:查询部门平均工资大于32号部门平均工资的部门? select dept_id,avg(salary) from s_emp group by dept_id having avg(salary) > (select avg(salary) from s_emp where dept_id=32); 取出表中第11到20条数据? select *,rownum from s_emp where rownum<=20 minus select *,rownum from s_emp where rownum<=10; 或者 select *,rownum from{ //这里只是为了了解from里面也能写select语句 select rownum r,* from s_emp } where r between 11 and 20; 注意:子查询出现在from中时,可以使用order by.

19.数据库设计 1)数据模型开发步聚:   需求分析->E-R图->表的实例图->数据库对象   1)E-R图:实体-关系图   2)实体:对应数据库中的表   3)属性:对应数据库中的列 4)关系:对应数据库中的关联约束 2)范式:   1)第一范式:所有行数据的属性必须单值(行列交叉处一个值)   2)第二范式:所有属性依赖主属性   3)第三范式:除了主属性,其他属性间没有依赖关系 3)完整性约束: 1.主键   1)唯一标识表中的记录   2)取值必须非空和唯一   3)一个表上,主键只能有一个   4)主键可以分为多列,称为联合主键   5)主键分为自然主键(如用户名,有商业意义)或者逻辑主键(如自动生成的id,没有商业意义,低耦合) 2.外键   1)建立表和表的关联关系   2)所关联PK或UK中的值,或者NULL   3)一个表上,外键可以有多个   4)外键可以为多列,称为联合外键   5)外键可以关联其他表,也可以关联自身表

20.建表 1)简单的建表语句 create table 表名(   属性名 属性类型 修饰符(not null:不能为空), //varchar2必须给范围 :varchar2(20) ); 2)设置表属性默认值:default   name varchar2(10) default user 3)表名命名规则:   字母开始,后可跟字母,数字,_,$,#,1~30个字符长度,不同重名,和关键字冲突 4)数据类型:   number,char,varchar,varchar2,date,CLOB(字符型大对象用来存一部小说),BLOB(二进制大对象,如存一部电影) 5)约束默认为SYS_Cn(有列级约束:约束一个列或表级约束:约束多个列)   1)not null:不能为空,列级别约束   2)unique:限制取值唯一,列级别约束   3)primary key:主键约束,必须唯一且不能为空,可以为列级别也能为表级别 列级别: id number constraint student_id_pk primary key 表级别 constraint student_id_pk primary key(id) 4)foreign key:外键约束,可以加在表上,也可以加在列上.   id number(7) constraint emp_id_pk primary key,   dept_id number(7) constraint emp_dept_id_fk references dept(id) 5)check:用于检查列中属性是否符合,可以是列级的,也可以是表级的   gender varchar2(10) constraint student_gender_c check(gender in('Male','Female')) 6)对表的特殊用法:

1)带约束的建表语句: create table S_DEPT(   id number(7) constraint s_detp_id_pk primary key,   name varchar2(25) constraint s_dept_name_nn not null,   region_id number(7) constraint s_dept_region_id_fk references s_region(id),   constraint s_dept_name_region_id_u2 unique(name,region_id) ); 2)基于已有表建新表: 基于已有表创建新表,只拷贝表结构,不拷贝数据: create table emp_null as select id,last_name,salary,dept_id from s_emp where 1=2;(如果想拷贝啥数据,可以改where条件) 21.数据库中的数据操作: 1)DML:数据操作语言:执行DML操作时,需要注意下数据的主外键关联   1)insert   2)update   3)delete 2)TCL:事务:一组相关联的操作,这组操作不可分隔,要么同时成功,要么同时失败 事务的特点:ACID   1)原子性(Automicity):原子是不可分割的,同一事务的一组操作也是不可分割.   2)一致性(Consistency):事务开始之前数据库处于一致的状态,事务结束以后数据库也能处于一致的状态   3)隔离性(Lsolation):一个事务的执行不会影响到其他的事务,oracle的隔离级别为read commited     1)脏读:事务1读取了事务2未提交的数据     2)不可重复读:同一查询在同一事务中多次进行,     3)虚读:同一查询在同一事务中多次进行,这个想了解,自行百度     4)持久性(Durability):一旦事务被提交,它对数据库的影响是持久的 事务开始:执行sql操作会自动启动事务 事务结束:commit,rollback,DDL/DCL(自动提交),exit 事务未提交前数据的特点:   1)数据被写到数据库缓冲区   2)DML操作只能在当前会话可见   3)其它会话看不到DML操作的结果   4)多个事务都操作的数据行被锁定 3)事务的操作   1)commit:提交事务,事务操作持久保存   2)rollback:回滚事务,事务操作撤销   rollback to p6; 3)savepoint:设置回滚点   savepoint p6;

25.视图 1.数据库中的映象 2.创建、使用 grant create view to briup; create view emp41_view as select last_name,salary,dept_id from s_emp where dept_id=41; desc emp41_view; 3.修改视图: //将视图进行DML操作进行修改 update emp41_view set salary=1000 where lower(last_name)='smith'; select last_name,salary from s_emp where lower(last_name)='smith';

//将视图设置为只读,则修改视图只能下面这么修改了 create or replace view emp41_view as select last_name,salary,dept_id,start_date from s_emp where dept_id=41 with read only; //设置只读 4.分类: 简单视图:涉及一张表、没有组函数、没有分组操作,可以进行DML 复杂视图:涉及多张表、有组函数、有分组操作,满足任何一点,不可以进行DML 5.限制: with check option:用视图所做的修改,通过该视图要能够查看到修改后的结果 6.删除: drop view my_view;

26.索引: 1.概念:数据库中的对象,用来加快查询,比对速度,采用BTree树,减少比较次数,提高效率 2.索引的分类: 1)自动创建的索引:primary key,unique 2)手动创建的索引:自己写sql 3.索引的创建: create index my_index on emp_42(id,last_name); 4.什么时候建立索引? 1)表中数据量大 2)索引列经常作为查询条件 3)查询出的数据量小 4)修改操作少 5.删除 drop index my_index;

27.事务的特性: 1.原子性: 事务要么全部成功,要么全部回滚 2.一致性: 事务的完整性约束没有被破坏,如果遇到违反约束的情况会回滚 3.隔离性 每个事务不会受其他事务的影响 4.持久性: 事务一旦提交就会永久生效

29.事务的容易出现的错误: 1.脏读:事务T1修改了数据,事务t2在事务t1提交前读到了这行数据 2.幻读:事务t1读取了满足条件的一个数据集,事务t2插入了一行或者多行数据满足了T1的选择条件,导致事务T1再次使用同样的选择条件读取的时候,得到了比第一次读取更多的数据集。 3.不可重复读:事务T1读取了一行数据,事务T2接着修改或者删除了该行数据,当T1再次读取同一行数据的时候,读到的数据时修改之后的或者发现已经被删除

THE END
0.数据库约束详解考虑约束的方面 实体完整性:例如不能存在完全无法区分的两条记录 域完整性:例如规定其取值范围 引用完整性:关联性表之间的引用关系要完整 用户自定义完整性:根据制定表的实际情况,进行的其它规定 约束的分类 ① 根据数据列的限制 单列约束:每个约束只约束一列 jvzquC41dnuh0lxfp0tfv8Sa\U^0c{ykenk0fnyckny03;7739722
1.软件测试MySQL唯一约束详解什么是唯一约束? 唯一约束是一种用于限制数据库表中某列或多列取值的约束,确保这些列中的值各不相同。在定义了唯一约束的列上,数据库系统会自动检查插入或更新操作,确保数据的唯一性。如果有重复的值要被插入,或者违反了唯一性约束的值要被更新,数据库会拒绝这些操作并返回错误。 jvzquC41dnuh0lxfp0tfv8frgzefkq1ctzjeuj1fgzbkux135:73>82;
2.Unique约束和check约束UNIQUE约束和CHECK约束是可用于在 SQL Server 表中强制实施数据完整性的两种约束类型。 这些是重要的数据库对象。 本文包含以下各节。 UNIQUE constraints CHECK constraints Related tasks UNIQUE constraints 约束是 SQL Server 数据库引擎为你强制执行的规则。 例如,您可以使用UNIQUE约束确保在非主键的jvzquC41fqit0vnetqyph}3eqo5{j6hp1uwm1{jncvoppjq/fczbdjxgu1zbduju1wtjs~j/eqttv{fkpvy.cwi/ejkdm6hqpuzscrsvuA|jg€Busn3tg{{gt/|ft::
3.表约束检查约束可以限制列可以接受的值。 在卡片引用应用程序方案中,卡片颜色和卡片类型需要具有一组特定的值:一个完美的检查约束条件,以便不满足此条件的值将被拒绝。 在某些情况下,定义一组默认值是不切实际的。 假设一列只允许一到 10000 之间的数字。 为 10000 个数字创建值列表是不必要的,并且会占用大量劳动力。jvzquC41nggsp7rketutqoy0eqs0|q2ep1zscrskpi5nqmzngu5eg|nip/g.fjyc/ouegu2ykvn.cmx17/zbduj/eqttv{fkpvy
4.UNIQUE约束|MicrosoftLearn可以使用 UNIQUE 约束确保在非主键列中不输入重复的值。尽管 UNIQUE 约束和 PRIMARY KEY 约束都强制唯一性,但想要强制一列或多列组合(不是主键)的唯一性时应使用 UNIQUE 约束而不是 PRIMARY KEY 约束。 可以对一个表定义多个 UNIQUE 约束,但只能定义一个 PRIMARY KEY 约束。 而且,UNIQUE 约束允许 NULL 值,这一点与 PRIMARY KEY 约束不同。不过,当与参与 UNIQUE 约束的任何值一起jvzquC41oujo0vnetqyph}3eqo5{j6hp1noctjw{1oy2;:688
5.CONSTRAINT子句您可以在 ALTER TABLE 和 CREATE TABLE 陳述式中使用 CONSTRAINT 子句來建立或刪除限制式。 CONTRAINT 子句有兩種類型:一種用來在單一欄位建立限制式,另一種則用於在多個欄位建立限制式。 附註:Microsoft Access 資料庫引擎不支援搭配非 Microsoft Access 資料庫使用 CONSTRAINT 或任何資料定義語言陳述式。 請改為使用jvzquC41uwvqq{y0okisq|thv0ipo8j/v}0vxuke1ipp|ytcktu/.J7'CJ&;9*G7'>G'J:/g7853>>5/39:c69gd93bf<5/83638A<53;7f
6.SQL语言精要主键列中的值不允许修改或者更新; 主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行) SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML, 数据定义语言DDL,数据控制语言DCL。 1、数据查询语言DQL ( Data Query Language) ​ 数据查询语言DQL用于检索数据库 jvzquC41o0hmqp3euft/pny1ygoykwd6:8689B<1ctzjeuj1fgzbkux1336369<66
7.农村金融研究考虑桥梁限重标志对驾驶员行为约束的车辆荷载效近年来随着我国经济的高速发展,公路交通运输量和车辆荷载均逐年增大,各地车辆超重现象普遍,严重影响了在役桥梁的安全可靠性。本文是一篇农村金融研究投稿的论文范文,主要论述了考虑桥梁限重标志对驾驶员行为约束的车辆荷载效应研究。 摘要:通过对某市货车驾驶员进行问卷调查,研究了桥梁限重标志对货车驾驶员驾驶行为的约束jvzq<84yyy4zwnvkmct/exr1lktsqwlny1;83A;0jvsm
8.检查约束UNIQUE constraints and CHECK constraints are two types of constraints that can be used to enforce data integrity.jvzquC41oujo0vnetqyph}3eqo5fp6zu1noctjw{1oy2:@:720gtr
9.唯一条件约束与检查条件约束要加入的CHECK條件約束會指定CheckTbl資料表中至少要有一個資料列。 不過,因為資料表中沒有任何資料列,能據以檢查這個條件約束的條件,所以ALTER TABLE陳述式會成功執行。 執行CHECK陳述式期間不會驗證DELETE條件約束。 因此,若在具有某些類型之 CHECK 條件約束的資料表上執行DELETE陳述式,可能會產生非 jvzquC41fqit0vnetqyph}3eqo5{j6yy1uwm1{jncvoppjq/fczbdjxgu1zbduju1wtjs~j/eqttv{fkpvy.cwi/ejkdm6hqpuzscrsvu
10.有關資料驗證的詳細資訊若資料是以複製或填滿方式輸入,就不會出現訊息。 若要防止使用者以拖放儲存格的方式複製並填滿資料,請移至 [檔案] > [選項] > [進階] > [編輯選項] > 清除 [啟用填滿控點與儲存格拖放功能] 核取方塊,然後保護工作表。 已關閉手動重算功能:如果已開啟手動重算功能,未計算的儲存格可能會造成資料無法正確驗jvzquC41uwvqq{y0okisq|thv0ipo8j/jq0qokkeg5&G?*;E'>:'N>';9+:E.J:'D9&:@*G8'?7'B>'G;+B;.>9'G>&CM*:;'K8'BF':6+F:.F;'D9&G@*D6'H1'N='D5+99.J:'C>&:J2h5:jfg@8/;;61/=hc8/?42:2:c7l7g:k2e6i
11.更新資料的設計考量如果清單方塊或下拉式方塊的[資料列來源類型] 屬性設定為[值清單],您可以在表單檢視中開啟表單時編輯值清單,避免每次需要變更清單時,都不需要切換至 [設計] 檢視或 [版面配置] 檢視、開啟屬性表,以及編輯控制項的[資料列來源] 屬性。 若要編輯值清單,清單方塊或下拉式方塊的[允許值清單編輯] 屬性必須設定為 [jvzquC41uwvqq{y0okisq|thv0ipo8j/jq0vxuke1+F8.>D'D:&G?*;8'H1'N;';7+C:.J8';9&;J*G9'?B'A9'G:+B:.FF'G>&CA*::'K9'A5':5+F8.=7'CK.6A8299>9/k736/:c:=2dd68.eo;49f:59o;6
12.81道SSM经典面试题总结只能代理接口:JDK 动态代理要求目标类必须实现一个接口,不能直接代理类。这限制了它的使用范围,对于没有实现接口的类,无法使用 JDK 动态代理。 代理类有限:JDK 动态代理生成的代理类数量有限,当目标类实现多个接口时,会为每个接口生成一个代理类,可能导致生成大量的代理类。 jvzquC41yy}/7:hvq0ipo8ftvkimg8<:83:90qyon
13.高考数学必考知识点汇总5. 对不重合的两条直线 (建议在解题时,讨论后利用斜率和截距) 6. 直线在两坐标轴上的截距相等,直线方程可以理解为,但不要忘记当时,直线在两坐标轴上的截距都是0,亦为截距相等。 7.解决线性规划问题的基本步骤是什么?请你注意解题格式和完整的文字表达。(①设出变量,写出目标函数②写出线性约束条件③画出可行jvzquC41yy}/z~jzkng/exr1zwkykok1iculcxkwfcu0e:;57;=30qyon
14.数据链路层(二)上层要发送数据时,发送方先检查发送窗口是否已满,如果未满,则产生一个帧并将其发送;如果窗口已满,发送方只需将数据返回给上层,暗示上层窗口已满。上层等一会再发送。(实际实现中,发送方可以缓存这些数据,窗口不满时再发送帧)。 3.2收到了一个ACK GBN协议中,对n号帧的确认采用累积确认的方式,标明接收方已经收jvzquC41fg|fnxugt0gmk‚zp0eun1jwvkerf1:62;988
15.mysql精典cxm.cm声明整型数据列时,我们可以为它指定个显示宽度M(1~255),如INT(5),指定显示宽度为5个字符,如果没有给它指定显示宽度,MySQL会为它指定一个默认值。显示宽度只用于显示,并不能限制取值范围和占用空间,如:INT(3)会占用4个字节的存储空间,并且允许的最大值也不会是999,而是INT整型所允许的最大值。 jvzq<84dnqm/eqnpcwtjz7sgv1{jf67234;:792kf/7:9?<:;0nuou
16.高斯数据库字段类型与mysql对照高斯数据库语法2. 目标列表达式 3.3.2 WHERE 子句 1. 比较 2. 确定范围 3. 确定集合 4. 字符匹配 5. 空值查询 6. 多重条件 3.2.3 ORDER BY 子句 3.2.4 聚集函数 3.2.5 GROUP BY 和 HAVING 子句 3.4 连接查询 3.4.1 WHERE 子句连接 1. 等值与非等值连接 jvzquC41dnuh0>6evq4dqv4wa3<1;B86617229:6;;
17.投资性房地产评估方法汇总十篇(六)制度建设落后,行业规范缺乏约束性 虽然房地产评估行业随着房地产业的繁荣得到了快速的发展,但仍处于发展的初级阶段,很多房地产评估机构是近几年由原来的政府房地产评估机构脱钩改制而来,它们与政府部门还存在着千丝万缕的关系,这也使得它们能够通过政府关系去垄断市场,而不是通过正常的市场竞争去获得业务;有的机构jvzquC41yy}/z~jujw4dqv3ep1nbq€jp16:2;;3jvor
18.mysql数据库实验报告总结体会mysql数据库基础实验总结约束是一种限制,它通过对表的行或列的数据做出限制,来确保表的数据的完整性、唯一性。 1.约束分类 在MySQL中,通常有这几种约束: 2.主键 主键(PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要。主键不能有重复且不能为空。 jvzquC41dnuh0>6evq4dqv4wa3<33<<291>64B732
19.修改mysqlwaittimeout的值mysql中的修改语句6. 使用外键约束: 外键是用来在两个表的数据之间建立链接,可以是一列或者多列,一个表可以有一个或者多个外键。 外键对应的是参照完整性,一个表的外键可以为空值,若不为空值,则每一个外键必须等于另一个表中主键的某个值。 作用:保持数据的一致性,完整性。 jvzquC41dnuh0>6evq4dqv4wa3<33<;371728;57:7
20.SQL基础操作详解一、列级完整性约束条件 NOT NULL:限制列取值非空。 DEFAULT:给定列的默认值。 UNIQUE:限制列取值不重复。 CHECK:限制列的取值范围。 PRIMARY KEY:指定本列为主码。 FOREIGN KEY:定义本列为引用其他表的外码。 使用形式为:[FOREIGN KEY(<外码列名>)]REFERENCES <外表>(<外表列名>) jvzquC41dnuh0lxfp0tfv8mj34823;731cxuklqg1fkucrqu17986=<75
21.EF多重性约束腾讯云开发者社区新增检查性约束限制(1)自增列和其他表的列,不支持检查性约束(2)不确定的函数,如CONNECTION_ID(),CURRENT_USER(),NOW()等,不支持检查性约束(3)用户自定义函数,不支持检查性约束(4)存储过程,不支持检查性约束(5)变量,不支持检查性约束(6)子查询,不支持检查性约束 总结检查性约束,还是一个非常不错jvzquC41enuvf7ygpekov7hqo1jfxnqqrgx0kwkqtogukxs1GH+F7.F6';G&GB*:9'>E'N;':2+B9.J9'DG&C?*G8'?E'BK/ctzjeuj