SLQ語(yǔ)句:
SQL本身是一門ANSI的標(biāo)準(zhǔn)計(jì)算機(jī)語(yǔ)言,用來(lái)訪問(wèn)和操作數(shù)據(jù)庫(kù)系統(tǒng)音同,它是一種標(biāo)準(zhǔn)词爬,適用于大部分RDBMS(關(guān)系型)類型數(shù)據(jù)庫(kù),RDBMS中的數(shù)據(jù)存儲(chǔ)在被成為表(tables)的數(shù)據(jù)庫(kù)對(duì)象中权均。
表是相關(guān)的數(shù)據(jù)項(xiàng)的集合顿膨,它由列和行組成。
SQL四大操作語(yǔ)言(DML)
select --從數(shù)據(jù)庫(kù)表中獲取數(shù)據(jù)(查詢)
update --更新數(shù)據(jù)庫(kù)表中的數(shù)據(jù)
delete -沖數(shù)據(jù)庫(kù)表中刪除數(shù)據(jù)
insert into --向數(shù)據(jù)庫(kù)表中插入數(shù)據(jù)
SQL定義語(yǔ)言(DDL)
create database --創(chuàng)建新的數(shù)據(jù)庫(kù)
create table --創(chuàng)建新表
alter database 修改數(shù)據(jù)庫(kù)
alter table 變更(改變)數(shù)據(jù)庫(kù)表
drop table --刪除表
create index -創(chuàng)建索引
drop index --刪除索引
一叽赊、SQL select語(yǔ)句:
1恋沃、select 列名稱 from 表名,如:
select * from XXX必指;
其中*代表獲取展示表中所有字段囊咏,可以用表中具體某個(gè)字段代替,會(huì)只獲取展示該字段的結(jié)果集塔橡。//注釋//SQL語(yǔ)句對(duì)大小寫不敏感匆笤,大寫等同小寫。
2谱邪、字段分隔符:"," ? 從表中單獨(dú)獲取多個(gè)字段內(nèi)容,可以:
(假設(shè)user為一張表的表名庶诡,name惦银,id為其中字段)
select name,id from user末誓;
3扯俱、查詢條件where,假設(shè)表XXX,有id喇澡,查詢其他結(jié)果集:
select * from XXX where XXX.id = 1迅栅;
where 是SQL關(guān)鍵字,后面是跟條件語(yǔ)句晴玖,可以執(zhí)行條件指定任務(wù)读存。//注釋//:這里id前面加有表名稱,是非必填的呕屎,可以直接使用字段让簿。
where查詢運(yùn)算符延伸:
//注:在oracle中l(wèi)ike使用一般跟2個(gè)‘%xxx%’;
where后面條件值如果是字符串,則用單引號(hào)''來(lái)表示秀睛,
4尔当、and運(yùn)算符、or運(yùn)算符
and一般作為條件后面加跟一個(gè)條件:select *from xxx where id = 1 and name = 'x';
and 可以多次疊加使用蹂安。
or:或者椭迎;代表where后面滿足其中一個(gè)條件即可锐帜,可以疊加使用。
and 和 or 可以結(jié)合使用畜号,彈藥使用()來(lái)進(jìn)行分離缴阎,如:select * from xxx where (id = 1 or name = '1') and xxx='xxx';
distinct去重,特性只能放在字段最前面弄兜,多字段只能去重列相當(dāng)于不管用药蜻。。
row_number() over()調(diào)用SQL函數(shù)去重替饿,特性:過(guò)濾會(huì)很徹底语泽,用起來(lái)也不算方便