sql dml 和ddl
可以把sql分為兩部分:資料庫語言(dml)和資料定義語言(ddl)
sql(結構化查詢語言)是用於執行查詢的語法,但sql語言也包含用於更新,插入和刪除記錄的語法
查詢和更新指令構成了sql的dml的部分
.select -從資料庫表中獲取資料 update -更新資料庫表中的資料 delete從資料庫表中刪除資料 insert into -向資料庫表中插入資料
sql的資料定義語言ddl部分能使我們有能力刪除或者建立** ,我們也可以定義索引建,規定表之間的鏈結,以及增加表之間的約束
sql中最重要的ddl語句:
create datebase 建立資料庫 alter datebase 修改資料庫 create table建立新錶
alter table 變更資料庫表 drop table 刪除表 create index 建立索引(搜尋鍵)
drop index 刪除索引
select * from 表明 (*代表是選取所有列的快捷方式)
select distinct 屬性 from 表名 distinct防止重複,讓其唯一
select * from persons where city=』xian』;
select * from persons where year>1994;
select * from persons where year>1994 and year<2001;
order by語句用於根據指定的列對結果進行排序,語句預設按照公升序對記錄進行排序;desc是按照降序對記錄進行排序
select 屬性1,屬性2..... from 表明 order by 屬性 (公升序)
select 屬性1, 屬性2 ....from 表名 order by 屬性 desc (降序)
insert into 語句用於向**中插入新的行
insert into 表名稱 values (值1 ,值2 ,.........)
也可以指定所要的咧
insert into table_name (列1,列2........) values (值1,值2,...)
update 修改表中的資料
update 表名稱 set 列名稱 = 新值 where 列名稱 =某值
delete 語句刪除表中的行
delete from 表名稱 where 列名稱 = 值
delete * from table_name 不刪除表,刪除表中的所有的行
top 子句用於規定返回的記錄的數目(不是所有的資料庫系統都支援top子句)
select top number|percent colunm_name(s) from table_name
mysql和oracle中的sql select top是等價的
select top 50 percent * from 表名(從表名中選取百分之五十的 記錄 )
like操作符用於在where子句中搜尋中的指定模式
select column_name(s) from table_name where column_name like pattern;
select * from persons where city like 『n%』 從person表裡選取居住在以n開始的城市的人
注意「%」可用於定義同萬用字元(模式中缺少的字母)
select * from persons where city like 『%b』從person表裡選取以b結尾的城市的人
select * from persons where city like 『%cc%』 從persons表裡選取不包含cc城市裡的人
sql萬用字元:在搜尋資料庫中的資料時,sql萬用字元可以替代乙個或者多個字元,sql萬用字元必須與like 運算子一起使用。在sql中可以使用以下萬用字元:
% 替代乙個或者多個字元
- 僅僅替代乙個字元
[charlist] 字元列中的任何單一字元
[^charlist] 不在字元列中的任何單一字元或者用([!charlist])
select * from persons where firstname like 『_ u』 從person表中選取名字的第乙個字元之後是「u」的人
select * from persons where lastname like 『c_r_h』 從person表中選取這條記錄的姓氏以「c」開頭,然後是乙個任意字元,然後是「r」,最後是「h」
select * from persons where city like 『[klm]%』 從person表選取居住在「k」或「l」或「m」城市開頭的人 ,如果查詢的是不在的話,只需要在原來的加!如下 『[!klm]%』
sql in操作符 in操作符允許我們在where子句中規定多個值
select * from persons where lastname in (『a』,』b』)我們希望從上表中選取姓氏為a和b的
人between 操作符在where子句中使用,作用是選取介於兩個值之間的資料範圍,between....and 這個值可以是數值,文字或者日期
select * from persons where lastname between 『a』 and 『b』 顯示介於a
(包括a)和b(不包括b )之間,反之在between前加not
alias 可以為列名稱和表名稱指定別名
表的sql alias語法
select column_name(s) from table_name as alias_name
列的sql alias 語法
select column_name as alias_name from table_name
假設我們有兩個表分別是:"persons" 和 "product_orders"。我們分別為它們指定別名 "p" 和 "po"。
現在,我們希望列出 "john adams" 的所有定單。
我們可以使用下面的 select 語句:
select po.orderid, p.lastname, p.firstname
from persons
as p
, product_orders
as po
where p.lastname='adams' and p.firstname='john'
不使用別名的 select 語句:
select product_orders.orderid, persons.lastname, persons.firstname
from persons, product_orders
where persons.lastname='adams' and persons.firstname='john'
從上面兩條 select 語句您可以看到,別名使查詢程式更易閱讀和書寫。
sql join 用於根據兩個或多個表中的列之間的關係,從這些資料中查詢資料.
在表中存在至少乙個匹配時 ,inner join 關鍵字返回行
關鍵的語法:
select column_name(s) from table_name1 inner join table_name2 on table_name11 . colum
1 .column_name=table_name2 . column_name
sql union 操作符 ,用於合併兩個或多個select語句的結果集
注意:union操作符用於合併兩個或多個select語句的結果集,列也必須有相似的資料型別,同時每條select中的列的順序必須相同
union語法,
select column_name from table_name1
union
select column_name from table_name2
注意:預設地,union操作符選取不同的值,如果允許重複的值,請使用union all
union結果集中的列名總是等於union中第乙個select語句中的列名 ,union只會選取不
sql select into語句可以用於建立表的備份原件
select into 語句從乙個表中選取資料,然後把資料插入另外乙個表中,此語句還可以用於建立表的備份復件或者用於對記錄進行存檔
select * into new_table_name [in externaldatabase] from old_tablename把所有的列插入新錶-select column_name(s) into new_table_name from old_tablename
sql select into 例項-製作備份復件
select *
into persons_backup
from persons
in幾句可用於向另一你資料庫中拷貝表:
select *
into persons in 『backup.mdb』
from persons
如果我們希望拷貝某些域,可以在select語句後列出這些域:
應用數學與機器學習基礎
線性代數的知識 1 標量 令x屬於 r 表示一條線的斜率,小寫斜體表示,會表明他屬於是哪種型別 2 向量 s 指定x1,x3 和x6,表示為xs,x s 表示x 中除x1,x3,x6 外所有元素構成的向量。3 矩陣 矩陣值表示式的索引 f a i j 表示函式f 作用在a 上輸出的矩陣的第i 行第j...
SQL學習(基礎)
sql簡介 是一種結構化查詢語言 structured query language 用於訪問和處理資料庫的標準的計算機語言。sql的作用 create select insert update delete drop 1 sql 面向資料庫執行查詢 2 sql 可從資料庫取回資料 3 sql 可在...
SQL基礎學習
order by排序語句 select limit子句 select 語句用於從資料庫中選取資料。結果被儲存在乙個結果表中,稱為結果集。sql select 語法 選取table中列為為column name的列 select column name,column name from table n...