SQL基礎知識

2021-09-11 15:52:25 字數 4085 閱讀 1657

sql簡介

sql 是用於訪問和處理資料庫的標準的計算機語言。

什麼是 sql?

sql 指結構化查詢語言

sql 使我們有能力訪問資料庫

sql 是一種 ansi 的標準計算機語言

編者注:ansi,美國國家標準化組織

sql 能做什麼?

sql 面向資料庫執行查詢

sql 可從資料庫取回資料

sql 可在資料庫中插入新的記錄

sql 可更新資料庫中的資料

sql 可從資料庫刪除記錄

sql 可建立新資料庫

sql 可在資料庫中建立新錶

sql 可在資料庫中建立儲存過程

sql 可在資料庫中建立檢視

sql 可以設定表、儲存過程和檢視的許可權

sql 是一種標準 - 但是…

sql 是一門 ansi 的標準計算機語言,用來訪問和運算元據庫系統。sql 語句用於取回和更新資料庫中的資料。sql 可與資料庫程式協同工作,比如 ms access、db2、informix、ms sql server、oracle、sybase 以及其他資料庫系統。

注釋:除了 sql 標準之外,大部分 sql 資料庫程式都擁有它們自己的私有擴充套件!

rdbms

rdbms 指的是關係型資料庫管理系統。

rdbms 是 sql 的基礎,同樣也是所有現代資料庫系統的基礎,比如 ms sql server, ibm db2, oracle, mysql 以及 microsoft access。

rdbms 中的資料儲存在被稱為表(tables)的資料庫物件中。

表是相關的資料項的集合,它由列和行組成。

重要事項

一定要記住,sql 對大小寫不敏感

sql dml 和 ddl

可以把 sql 分為兩個部分:資料操作語言 (dml) 和 資料定義語言 (ddl)。

sql (結構化查詢語言)是用於執行查詢的語法。但是 sql 語言也包含用於更新、插入和刪除記錄的語法。

查詢和更新指令構成了 sql 的 dml 部分

select - 從資料庫表中獲取資料

update - 更新資料庫表中的資料

delete - 從資料庫表中刪除資料

insert into - 向資料庫表中插入資料

sql 的資料定義語言 (ddl) 部分使我們有能力建立或刪除**。我們也可以定義索引(鍵),規定表之間的鏈結,以及施加表間的約束。

sql 中最重要的 ddl 語句:

create database - 建立新資料庫

alter database - 修改資料庫

create table - 建立新錶

alter table - 變更(改變)資料庫表

drop table - 刪除表

create index - 建立索引(搜尋鍵)

drop index - 刪除索引

sql select 語句

select 語句用於從表中選取資料。

結果被儲存在乙個結果表中(稱為結果集)。

sql select 語法sql select distinct 語句語法:

select distinct 列名稱 from 表名稱

where 子句

如需有條件地從表中選取資料,可將 where 子句新增到 select 語句。

語法

select 列名稱 from 表名稱 where 列 運算子 值

下面的運算子可在 where 子句中使用:

操作符 描述

= 等於

<> 不等

< 小於

『>=』 大於等於

<= 小於等於

between 在某個範圍內

like 搜尋某種模式

注釋:在某些版本的 sql 中,操作符 <> 可以寫為 !=。

引號的使用

請注意,我們在例子中的條件值周圍使用的是單引號。

sql 使用單引號來環繞文字值(大部分資料庫系統也接受雙引號)。如果是數值,請不要使用引號。

and 和 or 運算子用於基於乙個以上的條件對記錄進行過濾。

and 和 or 運算子

and 和 or 可在 where 子語句中把兩個或多個條件結合起來。

如果第乙個條件和第二個條件都成立,則 and 運算子顯示一條記錄。

如果第乙個條件和第二個條件中只要有乙個成立,則 or 運算子顯示一條記錄。

and語法:

select * from 表名稱 where 列 運算子 值 and 列值 運算子 值;

or語法:

select * from 表名稱 where 列 運算子 值 or 列值 運算子 值;

結合 and 和 or 運算子

我們也可以把 and 和 or 結合起來(使用圓括號來組成複雜的表示式):

語法:

select * from 表名稱 where (列 運算子 值 or 列值 運算子 值)and 列值 運算子 值;

order by 語句用於對結果集進行排序。

order by 語句

order by 語句用於根據指定的列對結果集進行排序。

order by 語句預設按照公升序對記錄進行排序,也可以使用asc關鍵字。

如果您希望按照降序對記錄進行排序,可以使用 desc 關鍵字。

語法:

select * from 表名稱 where order by 列 ;

select * from 表名稱 where order by 列 desc ;

insert into 語句

insert into 語句用於向**中插入新的行。

語法

insert into 表名稱 values (值1, 值2,…)

我們也可以指定所要插入資料的列:

insert into 表名稱 (列1, 列2,…) values (值1, 值2,…)

update 語句

update 語句用於修改表中的資料。

語法:

update 表名稱 set 列名稱 = 新值 where 列名稱 = 某值

delete 語句

delete 語句用於刪除表中的行。

語法

delete from 表名稱 where 列名稱 = 值

刪除所有行

可以在不刪除表的情況下刪除所有的行。這意味著表的結構、屬性和索引都是完整的:

delete from 表名稱;

或者:delete * from 表名稱;

drop truncate delete 區別?

drop 直接刪除表,truncate刪除表中的資料,在插入時自增長時id從1開始,delete刪除資料可以加where語句;

*delete語句執行刪除的過程是每次從表中刪除一行,並且同時將該行的刪除操作為事務記錄在日誌中,以便進行回滾操作,truncate table 則一次性地從表中刪除所有的資料,並且不把單獨刪除行的記錄儲存在日誌中儲存,刪除行記錄是不能恢復的,但是執行速度快;

*truncate 和delete只是刪除資料,而drop則是刪除整個表包括結構和資料

SQL基礎知識

本篇文章是講解sql的基礎知識,但也講得不全面,我只記錄了自己不懂的或者不熟悉的東西。一 在sql中簡單的查詢 1.重複的記錄 distinct 可以通過在選擇列表前的select語句中插入關鍵字distinct來消除重複的查詢結果記錄。比如 select distinct city from ci...

SQL基礎知識

sql作用 1.面向資料庫執行查詢 2.可從資料庫取回資料 3.可在資料庫中插入新的記錄 4.可更新資料庫中的資料 5.可從資料庫刪除記錄 6.可建立新資料庫 7.可在資料庫中建立新錶 8.可在資料庫中建立儲存過程 9.可在資料庫中建立檢視 10.可以設定表 儲存過程和檢視的許可權。資料庫操作語句 ...

SQL基礎知識

資料庫就是資料的倉庫,dbms資料庫管理系統同來對大資料的管理 檢索,就是對資料庫的管理。乙個dbms可以管理多個資料庫,這些不同的資料庫叫catalog或database,dbms允許把不同的database儲存在不同磁碟,每個資料庫中的表名不能相同。table 表,把不同型別的資料放到不同的區域...