1.SQL TOP 子句 ===> 用于規(guī)定要返回的記錄的數(shù)目
語法:
select top number | percent column_name(s) from table_name
MySql 語法
select column_name(s) from table_name limit number
實(shí)例:
select top 2 * from persons
select top 30 percent * from persons
select * from persons limit 5 // MySql語句
2.SQL LIKE 操作符 ===> 用于在 WHERE 子句中搜索列中的指定模式
語法:
select column_name(s) from table_name where column_name like pattern
實(shí)例:
select * from persons where city like 'N%' // 從上面的 "Persons" 表中選取居住在以 "N" 開始的城市里的人 (%代表通配符)
select * from persons where city not like '%ion%'
3.SQL 通配符 ===> 在搜索數(shù)據(jù)庫中的數(shù)據(jù)時(shí)涣楷,SQL 通配符可以替代一個(gè)或多個(gè)字符
通配符 描述
% 替代一個(gè)或多個(gè)字符
_ 僅替代一個(gè)字符
[charlist] 字符列中的任何單一字符
[^charlist or !charlist] 不在字符列中的任何單一字符
實(shí)例:
select * from persons where firstname like '%in%'
select * from persons where lastname like 'S_l_r'
select * from persons where city like '[ALN]%' // "Persons" 表中選取居住的城市以 "A" 或 "L" 或 "N" 開頭的人
select * from persons where city like '[!ALN]%' // "Persons" 表中選取居住的城市不以 "A" 或 "L" 或 "N" 開頭的人
4.SQL IN操作符 ===> 允許我們在 WHERE 子句中規(guī)定多個(gè)值
語法:
select column_name(s) from table_name where column_name in (valueA, valueB)
實(shí)例:
select * from persons where lastname in ('Silva', 'Bill')
5.SQL BETWEEN 操作符 ===> 選取介于兩個(gè)值之間的數(shù)據(jù)范圍
語法:
select column_name(s) from table_name where column_name between value1 and value2
實(shí)例:
select * from persons where lastname between 'Andy' and 'Mike'
select * from persons where lastname not between 'Andy' and 'Mike'
6.SQL Alias( 別名) ===> 列名稱和表名稱指定別名
語法:
select column_name(s) from table_name as alias_name // 表的SQL Alias語法
select column_name as alias_name from table_name // 列的 SQL Alias 語法
實(shí)例:
select po.orderId, p.name, p.age from persons as p, product_order as po where p.lastname = 'silva' and p.firstname = 'cheng'
7.SQL Join ===> 根據(jù)兩個(gè)或多個(gè)表中的列之間的關(guān)系广匙,從這些表中查詢數(shù)據(jù)
實(shí)例:
select persons.lastname, person.firstname, orders.orderNo
from persons
inner join orders
on persons.id_p = orders.id_p
order by persons.lastname
不同的 SQL JOIN
除了我們在上面的例子中使用的 INNER JOIN(內(nèi)連接),我們還可以使用其他幾種連接。
下面列出了您可以使用的 JOIN 類型屏鳍,以及它們之間的差異。
JOIN: 如果表中有至少一個(gè)匹配,則返回行
LEFT JOIN: 即使右表中沒有匹配,也從左表返回所有的行
RIGHT JOIN: 即使左表中沒有匹配灾茁,也從右表返回所有的行
FULL JOIN: 只要其中一個(gè)表中存在匹配,就返回行
7.1 SQL INNER JOIN
語法:
select column_name(s)
from table_name1
inner join table_name2
on table_name1.column.name = table_name2.column.name
7.2 SQL LEFT JOIN ===> 左表 (table_name1) 那里返回所有的行谷炸,即使在右表 (table_name2) 中沒有匹配的行
語法:
select column_name(s)
from table_name1
left join table_name2
on table_name1.column.name = table_name2.column.name
7.3 SQL RIGHT JOIN ===> 關(guān)鍵字會右表 (table_name2) 那里返回所有的行北专,即使在左表 (table_name1) 中沒有匹配的行
語法:
select column_name(s)
from table_name1
right join table_name2
on table_name1.column.name = table_name2.column.name
7.4 SQL FULL JOIN ===> 只要其中某個(gè)表存在匹配,F(xiàn)ULL JOIN 關(guān)鍵字就會返回行
語法:
select column_name(s)
from table_name1
full join table_name2
on table_name1.column.name = table_name2.column.name
8.SQL UNION 和 UNION ALL 操作符 ===> UNION 操作符用于合并兩個(gè)或多個(gè) #####SELECT 語句的結(jié)果集
請注意旬陡,UNION 內(nèi)部的 SELECT 語句必須擁有相同數(shù)量的列拓颓。
列也必須擁有相似的數(shù)據(jù)類型。同時(shí)季惩,每條 SELECT 語句中的列的順序必須相同录粱。
SQL UNION 語法:
select column_name(s) fromtable_name1
union
select column_name(s) from table_name2
// 注釋:默認(rèn)地腻格,UNION 操作符選取不同的值画拾。如果允許重復(fù)的值,請使用 UNION ALL
SQL UNION ALL語法:
select column_name(s) fromtable_name1
union all
select column_name(s) from table_name2
9.SQL SELECT INTO語句 ===> 可用于創(chuàng)建表的備份復(fù)件
語法:
select * (or column_names)
into new_table_name[IN externaldatabase]
from old_table_name
實(shí)例:
select *
into persons in 'Backup.mdb'
from persons
// 在新的backup庫里備份persons
select lastname, firstname
into persons_backup
from persons
where city = 'shenzhen'
// 帶有 where 子句
select persons.firstname, persons.lastname
into persons_order_backup
from persons
inner join orders
on persons.id_p = orders.id_p
10.SQL CREATE DATABASE語句 ===> 用于創(chuàng)建數(shù)據(jù)庫
#####語法:
create database database_name
11.SQL CREATE TABLE 語句 ===>用于創(chuàng)建數(shù)據(jù)庫中的表
語法:
CREATE TABLE 表名稱
(
列名稱1 數(shù)據(jù)類型,
列名稱2 數(shù)據(jù)類型,
列名稱3 數(shù)據(jù)類型,
....
)
數(shù)據(jù)類型.png
實(shí)例:
create table persons
(
id_p int,
lastname varchar(255),
firstname varchar(255),
address varchar(255),
city varchar(255)
)
12.SQL 約束 (Constraints) ===>用于限制加入表的數(shù)據(jù)的類型
主要有以下幾種約束:
NOT NULL // 強(qiáng)制列不接受 NULL 值
UNIQUE // 唯一標(biāo)識數(shù)據(jù)庫表中的每條記錄
PRIMARY KEY // 唯一標(biāo)識數(shù)據(jù)庫表中的每條記錄
// 每個(gè)表可以有多個(gè) UNIQUE 約束菜职,但是每個(gè)表只能有一個(gè) PRIMARY KEY 約束
FOREIGN KEY // 用于預(yù)防破壞表之間連接的動作
CHECK // 用于限制列中的值的范圍
DEFAULT // 用于向列中插入默認(rèn)值
13.SQL DROP 語句 ===> 可以輕松地刪除索引青抛、表和數(shù)據(jù)庫
語法:
MySql:
alter table table_name drop index index_name // 刪除表格中的索引
drop table table_name // 刪除表
drop database database_name // 刪除數(shù)據(jù)庫
14.SQL ALTER TABLE 語句 ===> 用于在已有的表中添加、修改或刪除列
語法:
表中添加列:
alter table table_name
add column_name datatype
刪除表中的列:
alter table table_name
drop column column_name
15.SQL 數(shù)據(jù)類型
在 MySQL 中酬核,有三種主要的類型:文本蜜另、數(shù)字和日期/時(shí)間類型
具體參考以下鏈接: