
SQL
David_Hernandez
NLP
展开
-
Note01--Schema&Table&Constraint&View&Index&Query&Role&User&Trigger
模式 定义模式实际上定义了一个命名空间,在这个空间中可以进一步定义该模式包含的数据库对象,例如表,试图,索引等; CREATE SCHEMA <模式名> AUTHORIZATION <用户名>如果没有指定<模式名>,那么<模式名>隐含为<用户名>;要创建模式,调用该命令的用户必须有DBA权限,或者获得了DBA授予的CREATE SCHEMA权限;CREATE SCHEMA "S-T" AUT原创 2017-01-09 14:50:42 · 479 阅读 · 0 评论 -
Note02--1NF&2NF&3NF&4NF
第一范式:每个属性都不可再分第二范式:消除非主属性对码的部分依赖 不属于2NF,会出现如下问题: (1) 插入异常 (2) 删除异常 (3) 修改复杂第三范式:消除非主属性对码的传递函数依赖BCNF:排除了任何属性对码的传递依赖与部分依赖 满足: (1) 所有非主属性对每一个码都是完全函数依赖; (2) 所有的主属性对每一个不包含它的码,也是完全函数依赖; (3) 没有任何属性原创 2017-01-09 14:51:33 · 377 阅读 · 0 评论 -
Note03--Case When
Case具有两种格式。简单Case函数和Case搜索函数。 –简单Case函数CASE sex WHEN ‘1’ THEN ‘男’WHEN ‘2’ THEN ‘女’ELSE ‘其他’ END–Case搜索函数CASE WHEN sex = ‘1’ THEN ‘男’WHEN sex = ‘2’ THEN ‘女’ELSE ‘其他’ END 这两种方式,可以实现相同的功能。简单Case函数的写法相对原创 2017-01-09 14:57:28 · 2045 阅读 · 0 评论 -
Note--查询第几条记录
查询mySQl中第一行/第二行/第三行数据1、 SELECT * FROM test ORDER BY sd LIMIT 1; //查询第 1 条记录2、 SELECT * FROM test where ID not in(SELECT ID FROM test ORDER BY sd LIMIT 1 ) ORDER BY sd LIMIT 1; //查询第 2 条记录3、SELECT * FRO原创 2017-01-09 14:58:25 · 525 阅读 · 0 评论 -
Note04--聚合函数
Oracle: 1. 最大最小函数 max和min是用来取某个字段的最大最小值,并不是说如果你有几个数,然后你直接从它们中取出最大或者最小,由于我不知道greatest和least这两个函数,最后我实现的是通过case去比较的,如果A大于B就取A,否则取B,现在就可以直接用greatest(A, B)来实现了。 1、coalescue 返回表达式列表中第一个非空的值,列表必须都是相同类型,也原创 2017-01-09 15:00:08 · 310 阅读 · 0 评论 -
Note06--Oracle中TO_DATE格式
Oracle中TO_DATE格式TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyyy four digits 四位年原创 2017-01-09 15:01:31 · 333 阅读 · 0 评论 -
Note07--Sequence
Sequence&PLSQL视图复位1.create sequence T_HERMES_INVOICE_DETAILS_Sminvalue 1maxvalue 999999999999999999999999999start with 1increment by 1NOCYCLEnocache;2. tools->preferences->user interface->appear原创 2017-01-09 15:02:44 · 404 阅读 · 0 评论 -
Note08--PLSQL Debug
PL/Sql Dev 调试Oracle存储过程、触发器、函数 本处以调试函数为例,其他的调试与此相同 1.调试位置 通常情况下,要在pl/sql Dev中调试程序有两个地方: 1).新建->测试窗口: 2).在要调试的程序上点击右键->测试 2.调试过程 1).通过调试位置进入测试窗口,如下图: 其中:点击1位置(或者按F9)进入调试原创 2017-01-09 15:08:51 · 449 阅读 · 0 评论 -
Note05--创建表
1、复制表结构及数据到新表 CREATE TABLE 新表 SELECT * FROM 旧表 这种方法会将oldtable中所有的内容都拷贝过来,当然我们可以用delete from newtable;来删除。 不过这种方法的一个最不好的地方就是新表中没有了旧表的primary key、Extra(auto_increment)等属性。需要自己用"alter"添加,而且容易搞错。 2、原创 2017-01-09 15:00:53 · 323 阅读 · 0 评论