sql關鍵詞
① sql裡面查詢關鍵字
SELECT *
FROM 表名
WHERE 用戶姓名="keyword" OR
性別="keyword" OR
家庭住址="keyword" OR
郵政編碼="keyword"
② MYSQL中執行插入操作的關鍵字是
一、關鍵字執行順序
1、查詢中用到的關鍵詞主要包含六個,並且他們的順序依次為 :
select--from--where--group by--having--order by 其中select和from是必須的,其他關鍵詞是可選的。
這六個關鍵詞的執行順序,與sql語句的書寫順序並不是一樣的,而是按照下面的順序來執行
from--where--group by--having--select--order by。
注意:雖然select在having後執行,但是mysql中仍然可以在having中使用select語句定義的別名。
原因分析:mysql在查詢的時候會產生一個臨時表,所有的欄位名稱(別名)在臨時表中已經產生,產生了臨時表之後才會進行having操作。也就是說mysql內部有一定的解析順序,解析順序select優先於having。在這里我個人認為是mysql可能沒有將這一點做規范。Oracle中having無法使用select語句內的別名。
2、insert into 和replace into和merge into
insert into是mysql的基本插入語句。replace into 是mysql中的代替插入語句,可以理解為insert into的升級版。replace into在執行的時候,首先會根據指定的主鍵或者唯一索引判斷當前表中是否存在指定的主鍵或索引,如果主鍵或唯一索引已經存在,則先將對應的索引的數據刪除,然後在索引位置插入replace into中包含的數據。如果主鍵和唯一索引沒有存在,則直接在索引位置插入replace into中包含的數據。merge into 是oracle資料庫中的代替插入語句。實現方式和replace into類似。執行效率:如果指定索引位置沒有數據,insert into和replace into執行效率相差無幾,二者效率相同。如果指定位置索引已經存在,insert into語句不能正常執行,replace into語句可以正常執行。注意:雖然replace into比較好使用,但是也存在一定風險:replace每次要重新分配自增id;replace中執行delete時, 在有外鍵的情況下會很麻煩;如果delete時定義的有觸發器, 則會被執行;副作用也會被傳播到replica slave.推薦使用INSERT INTO … ON DUPLICATE KEY UPDATEON DUPLICATE KEY UPDATE是mysql特有的一個sql關鍵字,只能在mysql中使用。
在MySQL資料庫中,如果在insert語句後面帶上ON DUPLICATE KEY UPDATE 子句,而要插入的行與表中現有記錄的惟一索引或主鍵中產生重復值,那麼就會發生舊行的更新;如果插入的行數據與現有表中記錄的唯一索引或者主鍵不重復,則執行新紀錄插入操作。
比如有這樣一張表:
create table func(id int primary key,count int,birthday date);
insert into func values(1,1,'1990-09-09');--插入一條數據
insert into func values(1,1,'1990-09-09') on plicate key update count = count+1;--表中有數據,刪除原表數據,將新數據插入。
提示兩行受到影響,說明先執行的刪除操作,然後插入新的數據。
觀察到沒有任何新數據插入,count欄位被更新。(count欄位更新是因為剛剛的插入語句中書寫了update count = count+1;)
如果不希望任何欄位更新,可以寫成如下格式:
insert into func values(1,1,'1990-09-09') on plicate key update count = values(count);--再次執行,沒有新數據插入到資料庫中。
二、mysql內置函數
內置函數眾多,不需要每一個都掌握,熟練掌握幾個在以後使用即可。可以查看mysql官方文檔學習內置函數。
三、其它注意事項
1、在已經存在的表中添加外鍵。(僅作為了解內容)
alter table tb_name add constraint fk_name foreign key (tb_name.id) references tb_stu(id);
例如:alter table emp add constraint forkey foreign key(dept_id) references dept(id);
該語句是在 tb_name表上添加一個外鍵約束,引用 tb_stu的主鍵,fk_name是約束的名字。
刪除約束:alter table tb_name drop constraint fk_name ;
2、外鍵的使用情景:
在不要求吞吐速度而對數據的正確性和安全性要求較高時,推薦使用外鍵。
如果面對高吞吐量,要求優先保證讀取效率時,則不推薦使用外鍵。
3、刪除的時候使用別名:
原句:delete from employee where id = 1;
別名:delete e from employee as e where id =1;
③ 建立數據表的SQL關鍵詞為
create table [表名]
([列1] [數據類型],
[列2] [數據類型],
......
)
這是基本表,
復雜的,有約束,主鍵,外鍵,唯一鍵,默認值等
④ 求SQL語句查詢時常使用的關鍵字
用法如下:
SELECT ______選擇項(欄位或常量或表達式)
FROM ______選擇項里出現的欄位的表 若有兩張以上的表 則同時寫
上多張表 並在中間加上逗號分開就行
WHERE _____寫上要滿足的條件 有兩張以上的表 則進行關聯 table1.
欄位=table2.欄位 其中欄位是相同的
ORDER BY ____ 將查詢結果排序 ASC表示升序可省略 DESC降不可省略
GRDER BY 將查詢結果分組排列
表之間的關聯也可以用
FROM table1 inner join table2 ON table1.欄位=table2.欄位
⑤ SQL關鍵字
很奇怪的寫法,*通常用於
like的文本匹配關系,用>=進行文本匹配本身就不符合SQL標准。#也同理,而且前後一個#多用於表示日期型,例如#2009-1-1#。在實例中,假如FNumber是字元型,則
AND
t3.FNumber>='*ItemNo*'
AND
t3.FNumber<='#ItemNo#'
等於多餘;如果是數值型,則會出錯。
⑥ SQL中 如何搜索『關鍵詞』
select列1,列2,列3from表名wherenamelike'%關鍵詞%'
name like '%關鍵詞%' 表是 name包含"關鍵詞"3個字。%表示通配符,表示任何字元都適用。
a,like '關鍵詞%' 表示以關鍵詞開頭的內容
b,like '%關鍵詞' 表示以關鍵詞結尾的內容
c,like '關鍵詞' 等同於 ='關鍵詞' 的寫法,即name是關鍵詞的,你的寫法是這樣
d,like '%關鍵詞%麗%' 表示like可以包含多個%的通配符
⑦ SQL語句中條件短語的關鍵字是
關鍵字是WHERE
SELECT-SQL最基本的格式為:SELECT-FROM-WHERE。其中,SELECT用於選擇查詢結果要顯示的目標列表,FROM用於列出查詢要用到的所有表文件,WHERE則用於指定查詢結果的查詢條件。(復制於網路題庫)
⑧ 簡述sql中查詢語句的關鍵字
distinct
關鍵字可從
select
語句的結果中消除重復的行。如果沒有指定
distinct,將返回所有行,包括重復的行。例如,如果選擇
proctinventory
中的所有產品
id
時沒有使用
distinct,將返回
1069
行。
如果使用了
distinct,就可以消除重復的行,只查看唯一的產品
id:
use
adventureworks;
go
select
distinct
proctid
from
proction.proctinventory
此查詢將返回
432
行。