SQL基礎學習與應用

2021-08-28 15:18:47 字數 4527 閱讀 9623

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...