青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Jiang's C++ Space

創作,也是一種學習的過程。

   :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::

20060407發表于blog.csdn.net20090424重新編輯】

關系型數據庫模型由Codd博士在1970年提出
SQL
成為ANSI標準是在1986

最基本查詢
select * from table1 where name=
Lincoln;
select col1,col2 from table1;

無重復查詢
select distinct amount from checks;
(distinct
在一個語句中只能用一次,放在所有字段之前)

MySQL
的一些常用命令
show databases; 顯示所有數據庫
show tables;
顯示當前數據庫的表
use db1;
當前數據庫切換到db1
describe table1;
顯示table1表的表結構

運用表達式和別名
select item, wholesale+0.15 from price;
select item, (wholesale+0.15) retail from price;
select * from friends where state<=
la;
select * from friends where firstname<>
al;
select * from parts where location like
%back%;
select * from friends where st like
C_;
select firstname||lastname entirename from friends; (mysql
中不能用)
(mysql
可以用select concat(name1, ’ ’, name2) name from friends;)
select lastname from vacation where years<=5 and leavetaken>20;
select * from vacation where lastname not like
B%;

集合運算,MySQL不一定能用
select name from softball union select name from football;
合集
select name from softball union all select name from football;
全合集
select * from football intersect select * from softball;
交集
select * from football minus select * from softball;
差集

In
Between運算符
select * from friends where areacode in(100,381,204);
select * from price where wholesale between 0.25 and 0.75;

內置函數的使用
count 
求總數
sum
求總和
avg
求平均
max
求最大
min
求最小
variance  
標準方差
stddev
標準差
add_month 
給日期類型增加一月
add_date  
給日期類型增加一天
last_day  
返回月份的最后一天
month_between
日期相差的月份
sysdate   
系統時間
abs
絕對值
ceil  
“天花板”
floor 
“地板”
exp
指數函數
log
上面的反函數
pow a^b
sign  
10-1
sqrt  
根號
chr
轉換成字符
concat
連接字符串
initcap   
首字符大寫,其他小寫
lower 
小寫
upper 
大寫
lpad  
左填充,原始,長度,字符
rpan  
右填充
ltrim 
左剪切
rtrim 
右剪切
trim  
剪切
replace   
字符替換,原始,替換,替換成
substr
獲取子字符串,原始,起始,長度
instr 
查找字符串,原始,查找,開始,序號
length
字符串長度
to_char   
轉換成字符串
to_number 
轉換成數字

子句的運用
(Where, Group by, Order by, Having) 
select * from checks where amount>100;
select * from checks order by check;
可以加上asc代表升序
select * from checks order by payee desc;
select * from checks order by remarks, payee;
select * from checks order by 1;
select payee, sum(amount), count(payee) from checks group by payee;
select sum(amount), count(payee) from checks group by payee, remarks;
where
之句中不允許用合計函數,因此下面的語句是錯誤的。
select team, avg(salary) from orgchart where avg(salary)<3800 group by team;
這時候需要having子句:
select team, avg(salary) from orgchart group by team having avg(salary)<3800;
…… having team in(pr,research);

交叉連接(笛卡爾積)
select * from table1, table2;
select o.orderedon, o.name, o.partnum, p.partnum, p.description
    from orders o, part p
    where o.partnum=p.partnum;

內部連接
select p.partnum, p.price, o.name, o.partnum
    from part p inner join orders o on orders.partnum=54;
除了使用了“on”來代替“where”之外,和交叉連接沒多少區別。
外部連接

左連接:左邊的表全部顯示
select p.partnum, p.description, p.price, o.name, o.partnum
    from part p left outer join orders o on o.partnum=54;

右連接:右邊的表全部顯示
select p.partnum, p.description, p.price, o.name, o.partnum
    from part p right outer join orders o on o.partnum=54;

子查詢(MySQL不支持)
select * from orders
where partnum=(select partnum from part where description like
ROAD%);

下面是較復雜查詢示例:
select o.name, o.orderedon, o.quantity * p.price total
    from orders o, part p
    where o.partnum=p.partnum and o.quantity * p.price > 
    (select avg(o.quantity * p.price)
        from orders o, part p
        where o.partnum=p.partnum);

Exist
使用(判斷集合是否存在)
select name, orderedon from orders where exists
    (select * from orders where name=
Mostly harmless)


數據庫三范式
1
、數據集合分成多張表而不只是一張大表,分成的每張表都有主鍵;主鍵
2、找出僅僅依賴于主鍵的列,將其存儲在另一個表中;僅依賴的列抽出
3、從一個表中刪除不依賴于主鍵的列。不依賴的列抽出
缺點:降低性能。

建立數據庫
很難吧?很難!不難吧?不難。僅僅告訴你最簡單情況:
create database PAYMENTS;

建立表
create table bills(name char(30), amount number, account_id number);
create table empname(id number not null, ename char(30));
create table newtable as select * from oldtable;

改變表:增加列
alter table emp add new_col_name char(20);

改變表:修改列
alter table emp modify new_col_name char(21);

改變表:改列名(Oracle 9i Release 2才能用)
alter table emp rename column new_col_name to old_col_name;

改變表:刪除列
alter table emp drop column old_col_name;

刪除表
drop table tablename;

刪除數據庫
drop database databasename;

主鍵、非空、唯一約束
主鍵primary key
非空not null
唯一unique 除了排序,和primary key功能一致
create table emp
    (emp_id char(9) primary key,
    emp_name varchar2(40) not null,
    phone number(10) null unique);

外鍵約束foreign key

create table emp_pay
    (emp_id char(9) not null,
    position varchar2(15) not null,
    pay_rate number(4,2) not null);
alter table emp_pay add constraint emp_id_fk foreign key(emp_id) 
references emp(emp_id);

校驗約束check
create table emp
    (emp_id char(9) not null primary key,
    emp_name varchar2(40) not null,
    emp_rate number(4,2) not null,
    zip number(5) not null);
alter table emp add constraint chk_zip check(emp_zip = '46234');
alter table emp add constraint chk_zip check(emp_zip in ('47634', '13451'));
alter table emp add constraint chk_zip check(emp_rate < 12.5);
emp_rate
為校驗約束名。

刪除約束
alter table emp drop constraint emp_no_constraint;
emp_no_constraint
為約束名。

更新記錄
update collection set worth = 555, price = 666 where itemid = 1110;

刪除記錄
delete from collection where itemid = 1113;

事務處理
……
commit;
……
rollback;
……
savepoint save_it;
……
rollback to savepoint save_it;

日期時間
掌握兩個函數就可以了。
to_char(empdate, 'YYYY/MM/DD HH24:MI:SS');
date轉變成字符串:“2004/11/12 16:30:02
to_date('1981/11/12 00:03:16', 'YYYY/MM/DD HH24:MI:SS');
將字符串“1981/11/12 00:03:16”轉變成日期類型。
還有要注意的事項,在中文Oracle中,'26-JAN-03'并不被認為是合法的日期,
'26-1
-03'才是合法的,真別扭,也蠻郁悶的。

建立視圖
create view debts as select * from bills;

刪除視圖
drop view debts;

建立索引
create index empno_index on emp(empno);

刪除索引
drop index empno_index;

創建用戶
create user jguogang identified by mypassword;

授予用戶角色
grant connect to jguogang;
grant resource to jguogang;
grant dba to jguogang;

刪除用戶的角色
revoke resource from jguogang;

給予系統特權
grant alter any type to public;
其中“alter any type”為一種系統特權,將被授予全部用戶。
grant drop any trigger to jguogang;
將系統特權“drop any trigger”授予用戶“jguogang”。
grant create user to connect;
將系統特權“create user”授予角色“connect”。
收回系統特權
revoke alter any type from public;
給予對象特權
grant select on emp to jack;
授予用戶“jack”:對“emp”的“select”對象特權。
grant select, update(salary) on emp to jill;
授予用戶“jill”:對“emp”的“select”、“salary”列的“update”對象特權。
收回對象特權
revoke select on emp from jack;

字典
字典:我是誰
select * from user_users;
字典:我們是誰
select * from all_users;
字典:我能干什么
select * from user_sys_privs;
字典:我充當什么角色
select * from user_role_privs;
字典:我擁有什么表、視圖和“SEQUENCE
select * from user_catalog;
字典:我可訪問什么表、視圖和“SEQUENCE”(多)
select * from all_catalog;
字典:我擁有什么對象
select * from user_object;
字典:我可訪問什么對象(多)
select * from all_catalog;
……關于字典,暫時就介紹那么點了。

注釋
表的注釋
comment on table emp is 'Employee';
列的注釋
comment on column emp.ename is '
名字';
列出所有包含注釋的表
select * from user_tab_comments where comments is not null;
系統時間取得
select sysdate from dual;

20050906
筆記
查看未提交的事務
select * from v$transaction;
select * from v$locked_object;
通過locked_object視圖獲知被鎖定的對象的IDobject_id
那么通過下面的語句能獲知到底哪個對象被鎖定
select * from sys.all_objects t where object_id = ###;
alter system kill session 30;

修改用戶密碼相關
select username,password from dba_users;
alter user aaa identified by aaaspwd;

posted on 2009-04-24 15:52 Jiang Guogang 閱讀(564) 評論(0)  編輯 收藏 引用 所屬分類: Knowledge
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            一本一道久久综合狠狠老精东影业| 亚洲国产一区二区三区青草影视| 日韩一级精品视频在线观看| 欧美电影在线免费观看网站| 麻豆av一区二区三区久久| 亚洲福利小视频| 亚洲乱码久久| 国产精品日韩电影| 久久久久**毛片大全| 玖玖国产精品视频| 亚洲小说欧美另类社区| 亚洲欧美综合网| 亚洲高清在线| 中文一区二区在线观看| 黑人一区二区三区四区五区| 亚洲国产日韩欧美| 欧美日韩国产一区二区| 国产精品每日更新| 久久久久久久久久久久久女国产乱| 开心色5月久久精品| 亚洲少妇一区| 久久经典综合| 亚洲一区免费看| 久久欧美中文字幕| 亚洲在线观看| 欧美成人精品高清在线播放| 亚洲欧美日韩在线高清直播| 久久久综合网站| 亚洲一区二区三区影院| 老巨人导航500精品| 亚洲欧美精品| 久久一区中文字幕| 亚洲欧美在线免费观看| 麻豆国产精品一区二区三区| 欧美在线精品免播放器视频| 欧美成人午夜激情在线| 久久精品国产99国产精品澳门| 女人天堂亚洲aⅴ在线观看| 欧美在线三区| 欧美性事在线| 亚洲欧洲日本专区| 国产视频综合在线| 一区二区三区视频在线| 日韩视频免费观看| 久久综合亚州| 快she精品国产999| 国产婷婷色综合av蜜臀av| 亚洲卡通欧美制服中文| 亚洲人成在线观看| 久久天天狠狠| 久久综合色一综合色88| 国产伦精品一区二区三区高清版 | 国产日韩精品久久| 亚洲精品在线视频观看| 亚洲精品一区二区三区99| 亚洲综合精品自拍| 欧美激情一区二区| 亚洲成人在线视频播放| 国产精品天天摸av网| 夜夜嗨av一区二区三区中文字幕| 亚洲精品男同| 欧美黄色aaaa| 亚洲日本乱码在线观看| 一区二区免费看| 欧美另类极品videosbest最新版本| 欧美激情一二三区| 亚洲日本中文字幕| 欧美国产日产韩国视频| 亚洲狼人精品一区二区三区| 中文一区二区| 国产精品久久久久久超碰| 亚洲一区二区三区精品在线观看| 欧美亚洲自偷自偷| 国产色爱av资源综合区| 久久国产精品99久久久久久老狼| 久久久国产精品一区二区中文| 国产一区二区成人| 久久夜色精品国产欧美乱极品| 欧美成人午夜影院| 日韩午夜av| 国产精品视频网站| 欧美一区二区三区久久精品| 美女免费视频一区| 91久久精品一区| 一区二区三区四区五区精品| 欧美在线观看视频在线| 激情视频一区二区| 欧美大片免费观看| 亚洲午夜视频在线| 久久尤物视频| 9久re热视频在线精品| 国产精品s色| 久久av最新网址| 亚洲国产天堂网精品网站| 亚洲一区在线看| 一区二区在线视频播放| 欧美激情综合五月色丁香小说 | 欧美成人中文字幕| 一本一道久久综合狠狠老精东影业| 国产精品视频1区| 久久久综合网| 亚洲校园激情| 亚洲成人中文| 欧美在现视频| 日韩一本二本av| 国产视频久久| 欧美三级第一页| 久久久99爱| 亚洲欧美日韩另类| 亚洲精品视频啊美女在线直播| 久久久国产一区二区| 亚洲亚洲精品三区日韩精品在线视频 | 欧美日韩成人在线视频| 亚洲一品av免费观看| 亚洲国产高清在线| 欧美在线观看视频一区二区三区| 99在线热播精品免费99热| 韩国av一区二区三区在线观看| 欧美女激情福利| 久久亚洲视频| 欧美淫片网站| 一卡二卡3卡四卡高清精品视频| 免费亚洲电影| 午夜一区二区三视频在线观看| 亚洲国产毛片完整版| 在线播放中文一区| 国产欧美日韩一区二区三区| 免费永久网站黄欧美| 欧美在现视频| 性欧美暴力猛交69hd| 一区二区三区视频免费在线观看| 亚洲国产成人porn| 狠狠色丁香久久婷婷综合_中| 国产精品久久国产精麻豆99网站| 欧美黄色日本| 欧美激情一区二区久久久| 久久精品成人一区二区三区| 亚洲免费一级电影| 亚洲片区在线| 亚洲精品中文字幕在线观看| 亚洲国产精品传媒在线观看| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美在线免费播放| 午夜精品一区二区三区电影天堂 | 性欧美18~19sex高清播放| 一本色道久久综合亚洲二区三区| 91久久极品少妇xxxxⅹ软件| 亚洲丁香婷深爱综合| 欧美a级一区| 欧美成在线视频| 美女尤物久久精品| 欧美jizz19性欧美| 欧美fxxxxxx另类| 欧美激情无毛| 最新精品在线| aaa亚洲精品一二三区| 亚洲男人的天堂在线| 欧美一级一区| 另类av导航| 欧美激情女人20p| 国产精品激情av在线播放| 国产乱码精品一区二区三| 国产日产欧产精品推荐色| 国产在线精品二区| 亚洲大片一区二区三区| 亚洲黄色影片| 亚洲在线一区二区| 久久久视频精品| 欧美福利视频网站| 一区二区激情| 久久精品一区二区三区四区| 久久亚洲一区| 欧美精品国产精品| 国产视频一区在线观看一区免费| 亚洲国产另类 国产精品国产免费| 亚洲国产欧美日韩另类综合| 妖精成人www高清在线观看| 一区二区三区视频观看| 久久网站热最新地址| 亚洲欧洲精品一区二区三区波多野1战4 | 午夜精品www| 欧美激情视频一区二区三区免费 | 亚洲欧洲日本一区二区三区| 亚洲欧美另类在线| 欧美高清视频一区| 国产免费观看久久黄| 亚洲国产精品成人精品| 亚洲图片在区色| 老牛影视一区二区三区| 在线视频你懂得一区二区三区| 久久久久久综合| 国产精品久久午夜夜伦鲁鲁| 一本色道久久加勒比精品| 亚洲欧美国产另类| 欧美日韩午夜| 一区二区三区在线视频播放| 一区二区三区欧美成人| 欧美成人精品高清在线播放| 亚洲欧美在线磁力| 欧美午夜无遮挡|