數據庫中常用的一些關鍵字


1.distinct 用來查詢不重復記錄的條數,可以是單個字段去重、也可以是多個字段去重,但是不能與all同時使用並且不能在insert、delete、update中使用

select distinct column1 from table_name;

2.where 子句用於提取那些滿足指定條件的記錄

select column1,column2,... from table_name where column_name .....

有一些常用運算符

=等於、<>不等於、>大於、 <小於、 >=大於等於、 <=小於等於、 between在某個范圍內、 like搜索某種模式、 in指定針對某個列的多個可能值

3.and & or

select * from table_name where column1=value1 and column2=value2;

select * from table_name where column1=value1 or column2=value2;

4.order by 用於對結果集進行排序,默認為ASC升序,DESC降序

5.insert into語句用於向表中插入新紀錄

insert into table_name(column1,column2,...) values(value1,value2,...);

6.update語句用於更新表中的記錄

update table_name set column1=value1,...  where  some_column=some_value;

7.delete語句用於刪除表中的記錄

delete from table_name where some_column=some_value;

8.top、limit、rownum

select top number|percent column_name from table_name where [condition];

例如:==SQL server/Acess中== select top 2 * from student; ==等價於mysql中== select * from student limit 2; ==等價於oracle中== select * from student where rownum<=2;

9.like操作符用於在where子句中搜索列中的指定模式

select column_name(s) from table_name where column_name like pattern; 注意需要用到%

10.in操作符用於在where子句中規定多個值

select column_name(s) from table_name where column_name in (value1,value2,...);

11.between用於選取介於兩個值之間的數據范圍內的值

select column_name(s) from table_name where column_name between value1 and value2;

12.inner join在表中存在至少一個匹配時返回行=========等同於join

select column_name(s) from table1 inner join table2 on table1.column_name=table2.column_name;

13.left join關鍵字從左表返回所有的行,即使右表中沒有匹配,結果以nul顯示=========也可以稱為left outer join

select column_name(s) from table1 left join table2 on table1.column_name=table2.column_name;

14.right join關鍵字從右表返回所有的行,即使左表沒有匹配,結果以null顯示=========也可以稱為right outer join

select column_name(s) from table1 right join table2 on table1.column_name=table2.column_name;

15.full outer join關鍵字只要左表和右表其中一個表中存在匹配,則返回行

select column_name(s) from table1 full outer join table2 on table1.column_name=table2.column_name;

16.union操作符合並兩個或多個select語句的結果**********union只會選取不同的值,union all會選取所有的值,包括重復的值

select column_name(s) from table1

union/union all

select column_name(s) from table2;//******兩個select語句必須有相同數量的列,列也必須有相似的數據類型,而且列的順序也必須相同****//

17.select into語句從一個表復制數據,然后插入到另一個表中******但是兩個表的結構和數據類型完全一致

select column_name(s) into new_table from old_table;

18.insert into select語句從一個表復制數據,把數據插入到一個已存在的表中,目標表中任何已存在的行都不會受影響

insert into table2(column_name(s)) select column_name(s) from table1;

19.create database語句用於創建數據庫

create database dbname;

20.create table語句用於創建數據庫中的表

create table table_name

{

column_name1 data_type(size),

column_name2 data_type(size),

...

};

21.constraints約束用於規定表中的數據規則

約束類型not null(指示某列不能存儲null值)、unique(保證某列的每行必須有唯一的值)、primary key(not null和unique的結合)、foreign key(保證一個表中的數據匹配另一個表中的值的參照完整性)

check(保證列中的值符合指定的條件)、default(規定沒有給列賦值時的默認值)

create table table_name

{

column_name1 data_type(size) constraints_name,

column_name2 data_type(size) constraints_name,

...

};

22.index索引:以便於更加快速高效的查詢數據

create index index_name on table_name(column_name);

23.drop用於刪除索引、表和數據庫

drop index index_name on table_name;

drop table table_name;

drop database database_name;

刪除表內的數據,不刪除表本身,使用truncate table table_name;

24.alter table 用於在已有的表中添加、刪除、修改列

alter table table_name add column_name datatype;//添加

alter table table_name drop column column_name;//刪除

alter table table_name modify column_name datatype;//更新

25.auto increment會在新紀錄插入表中時生成一個唯一的數字

CREATE TABLE Persons
(
ID int NOT NULL AUTO_INCREMENT,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
PRIMARY KEY (ID)
)

在Oracle中必須通過sequence對象創建

CREATE SEQUENCE seq_person
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10

insert into Persons(ID,FirstName,LastName) values(seq_person.nextval,'Lars','Monsen');

26.view視圖:是可視化的表,包含行和列,視圖中的字段來自一個或多個數據庫中的真實的表中的字段

create view view_name AS select column_name(s) from table_name where condition ;

create or replace view view_name as select column_name(s) from table_name where condition;

drop view view_name;//刪除視圖

27.date函數

now() 返回當前的日期和時間、curdate()當前的日期、curtime()當前的時間、date()提取日期或時間表達式的日期部分、extract()返回日期/時間的單獨部分、datediff()返回兩個日期之間的天數、date_format()用不同的格式顯示日期/時間

28.avg()函數:返回數值列的平均值

select avg(column_name) from table_name;

29.count()函數:返回匹配指定條件的行數

select count(column_name) from table_name;

select count(distinct column_name) from table_name;

30.first()函數:返回指定的列中第一個記錄的值

select first(column_name) from table_name;//只有MS Access支持first()函數

select top 1 column_name from table_name order by column_name asc;//sql server用法

select column_name from table_name order by column_name asc limit 1;//mysql用法

select column_name from table_name order by column_name asc where rownum <=1;//oracle用法

31.last()函數:返回指定列中最后一個記錄的值

select last(column_name) from table_name;//只有MS Access支持last()函數

select top 1 column_name from table_name order by column_name desc;//sql server用法

select column_name from table_name order by column_name desclimit 1;//mysql用法

select column_name from table_name order by column_name desc where rownum <=1;//oracle用法

32.max()函數:返回指定列中最大值

select max(column_name) from table_name;

33.min()函數:返回指定列中最小值

select min(column_name) from table_name;

34.sum()函數:返回數值列的總數

select sum(column_name) from table_name;//理解為求和

35.having子句可以篩選分組后的各組數據

select column_name,aggregate_function(column_name) from table_name where column_name operator value group by column_name having aggregate_function(column_name) operator value;

35.exists運算符用於判斷查詢子句是否有記錄,如果有一條或多條返回true,否則false

select column_name(s) from table_name where exists (select column_name from table_name where condition);

36.ucase()函數:把字段的值轉換為大寫////upper()函數

select ucase(column_name) from table_name;

37.lcase()函數:把字段的值轉換為小寫/////lower()函數

select lcase(column_name) from table_name;

38.mid()函數:用於從文本字段中提取字符

select mid(column_name,start[,length]) from table_name;

39.len()函數:返回文本字段中值的長度

select len(column_name) from table_name;

select length(column_name) from table_name;//MySQL中的函數名稱及用法

40.round()函數:用於把數值字段舍入為指定的小數位數

select round(column_name,decimals) from table_name;

***********round(x):返回參數x的四舍五入的一個整數

***********round(x,d):返回參數x的四舍五入的有d位小數的一個數字。

41.now()函數:返回當前系統的日期和時間

select now() from table_name;

42.format()函數:用於對字段的顯示進行格式化

select format(column_name,format) from table_name;//column_name要格式化的字段,format規定格式


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM