sql命令大全,sql語句大全

來源:互聯網
上載者:User

sql命令大全,sql語句大全

1.      查看sqllite的版本資訊:


2 建立資料庫


3 退出sqlite命令列的方式:

sqlite>.quit  或   sqlite>.exit命令


4 列出當前顯示格式的配置


5 顯示資料庫表結構


6 向表中插入資料


7 設定匯出目標

 

12 設定顯示模式:  .mode  模式

有好幾種顯示模式,預設的是 list 顯示模式,一般我們使用 column 顯示模式,還有其他幾種顯示模式可以 .help 看 mode 相關內容。看看下面的圖,和上面是不是顯示的不一樣了?


13 設定 NULL 值顯示成什麼樣子: .nullvalue     你想要的NULL值格式

預設情況下NULL值什麼也不顯示,你可以設定成你自己想要的樣子


14 設定檔 .sqliterc

如果我們每次進入命令列都要重新設定顯示格式,很麻煩,其實 .show 命令列出的所有設定項都可以儲存到一個 .sqliterc 檔案中,這樣每次進入命令列就自動化佈建好了。.sqlterc 檔案在 Linux 下儲存在使用者的 Home 目錄下,在 Windows 下可以儲存到任何目錄下,但是需要設定環境變數讓資料庫引擎能找到它,感興趣的可以看看協助。 

 

15 自訂分隔字元

 

16 顯示標題列 .header on


不顯示標題列:.header off


三.資料庫和表的相關命令

1、建立一個新的資料庫:sqlite3 檔案名稱

建立一個test.db資料庫檔案,開啟控制台視窗,命令如下:

2、開啟一個已經存在的資料庫:sqlite3已經存在的檔案名稱

建立一個資料庫和開啟一個已經存在的資料庫命令是一模一樣的,如果存在,則開啟。

3 建立資料表

create table table_name(field type1,fieldtype1,….);

table_name是要建立資料表的名稱,field x上是資料庫表內欄位名字,typex則是欄位類型。

如:該語句建立一個記錄學生資訊的資料表


sql的指令格式:所有sql指令都是以分號(;)結尾,兩個減號(--)則表示注釋

4 添加資料記錄

insert into table_name(列 field1,field2,….)values(值val1,val2,….);

val x為需要存入欄位的值。

例如,往老師資訊表添加資料:


很簡單,建立了一個Teachers表並向添加了四條資料,設定了一些約束,其中有自動增加的主鍵、預設值等等。

5、修改資料

UPDATE 表 SET 列 = ‘新值’ 【WHERE 條件陳述式】

UPDATE語句用來更新表中的某個列,如果不設定條件,則所有記錄的這一列都被更新;如果設定了條件,則合格這一列被更新,WHERE子句被用來設定條件,如下例:


6 刪除資料 DELETE  FROM 表 【WHERE條件陳述式】

如果設定WHERE條件子句,則刪除合格資料記錄;如果沒有設定條件陳述式,則刪除所有記錄。


7 匯入資料:  .read 資料檔案

開啟記事本,並將下列SQL語句複製到記事本中,儲存為test.sql,在命令列環境中輸入

.read test.sql

BEGIN TRANSACTION;

CREATE TABLE Cars(Id integer PRIMARY KEY, Name text, Cost integer);

INSERT INTO Cars VALUES(1,'Audi',52642);

INSERT INTO Cars VALUES(2,'Mercedes',57127);

INSERT INTO Cars VALUES(3,'Skoda',9000);

INSERT INTO Cars VALUES(4,'Volvo',29000);

INSERT INTO Cars VALUES(5,'Bentley',350000);

INSERT INTO Cars VALUES(6,'Citroen',21000);

INSERT INTO Cars VALUES(7,'Hummer',41400);

INSERT INTO Cars VALUES(8,'Volkswagen',21600);

COMMIT;

 

BEGIN TRANSACTION;

CREATE TABLE Orders(Id integer PRIMARY KEY,

            OrderPrice integer CHECK(OrderPrice>0),Customer text);

INSERT INTO Orders(OrderPrice, Customer) VALUES(1200, "Williamson");

INSERT INTO Orders(OrderPrice, Customer) VALUES(200, "Robertson");

INSERT INTO Orders(OrderPrice, Customer) VALUES(40, "Robertson");

INSERT INTO Orders(OrderPrice, Customer) VALUES(1640, "Smith");

INSERT INTO Orders(OrderPrice, Customer) VALUES(100, "Robertson");

INSERT INTO Orders(OrderPrice, Customer) VALUES(50, "Williamson");

INSERT INTO Orders(OrderPrice, Customer) VALUES(150, "Smith");

INSERT INTO Orders(OrderPrice, Customer) VALUES(250, "Smith");

INSERT INTO Orders(OrderPrice, Customer) VALUES(840, "Brown");

INSERT INTO Orders(OrderPrice, Customer) VALUES(440, "Black");

INSERT INTO Orders(OrderPrice, Customer) VALUES(20, "Brown");

COMMIT;


8、查詢資料記錄

A查詢輸出資料行出資料記錄

select * from table_name;

b 限制輸出資料記錄數量

若資料庫中的資料太多,全部返回可不行,可以限制返回的數量,還可以設定返回的起始位置

select * from table_name limit val;


C 升序輸出資料記錄

select * from table_name order by fieldasc;


D 降序輸出資料記錄

select * from table order by field desc;


E 條件查詢

select * from table_name where expression;

IN(集合)

select * from table_name where field in(‘val1’,’val2’,’val3’);


BETWEEN值1 AND值2

select * from table_name where fieldbetween val1 and val2;

 

select * from Cars where cost between 41400and 350000;


F、查詢記錄數目

select count(*) from table_name;

 

G、區分列資料

select distinct field from table_name;

有一些欄位的值可能會重複出現,distinct去掉重複項,將列中各欄位值單個列出。

 

h 別名SELECT 列AS別名,列AS別名FROM

可以返回資料集中的某些列起一個比較直觀的名字,比如把Const改為”Price Of Car”


l、條件查詢SELECT列FROM表  【WHERE條件陳述式】

一般的條件陳述式都Shiite大於、小於、等於之類的,這裡有幾個特別的條件陳述式

LIKE

-------------------------------

LIKE     用萬用字元匹配字串

底線_   匹配一個字串

百分比符號%   匹配多個字串

LIKE匹配字串時不區分大小寫

 

GLOB

J 區分 DISTINCT 列

有一些欄位的值可能會出現重複,比如訂單表中,一個客戶可能會有好幾份訂單,因此客戶的名字會重複出現。

到底有哪些客戶下了訂單呢?下面的語句將客戶名字區分出來。

 

K 分組GROUP BY列

分組和前面的區分有一點類似。區分僅僅是為了去掉重複項,而分組是為了對各類不同項進行統計計算。

比如上面的例子,我們區分出5個客戶,這5個客戶一共11個訂單,說明很多客戶都下了不止一個訂單。

下面的語句的統計每個客戶在訂單上總共花費了多少錢。

 

9 建立索引

當說資料表存在大量記錄,索引有助於加快尋找資料錶速度。
create index index_name on table_name(field);
例,針對學生表stu_no欄位,建立一個索引:
create index student_index on student_table(stu_no);


建立完成後,sqlite3在對該欄位查詢時,會自動使用該索引。

 

10 刪除資料表或索引

drop table table_name;

drop index index_name;

 

11  sqlite3儲存資料的類型

NULL:標識一個NULL值

INTEGER:整數類型

REAL:浮點數

TEXT:字串

BLOB:位元

 

12 sqlite3儲存資料的約束條件

Sqlite常用約束條件如下:

PRIMARY KEY -主鍵

1)  主鍵的值必須唯一,用於標識每一條記錄,如學生的學號

2)  主鍵同時也是一個索引,通過主鍵尋找記錄速度較快

3)  主鍵如果是整數類型,該列的值可以自動成長

NOT NULL – 非空

約束列記錄不可為空,否則報錯

UNIQUE – 唯一:

除主鍵外,約束其它列的資料的值唯一

CHECK – 條件檢查:

約束該列的值必須符合條件才可存入

DEFAULT – 預設值:

列資料中的值基本都是一樣的,這樣的欄位列可設為預設值

CREATE TABLE Orders(Id integer PRIMARY KEY,

                    OrderPrice integer CHECK(OrderPrice>0),

                    Customer text);

 

CREATE TABLE Friends(Id integer PRIMARY KEY, Name text UNIQUE NOT NULL,

                     Sex text CHECK(Sex IN ('M', 'F')));

 

 

 

CREATE TABLE IF NOT EXISTS Reservations(Id integer PRIMARY KEY,

                     CustomerId integer, Day text);

INSERT INTO Reservations(CustomerId, Day) VALUES(1, '2009-22-11');

 

CREATE TABLE Books(Id integer PRIMARY KEY, Title text, Author text,

                     Isbn text default 'not available');

 

13 怎麼在已經建立的表中插入一列

ALTER TABLE table-name

ADD COLUMN column-name column-type;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


SQL命令大全

哪有這麼學SQL的啊。。多寫多用就行。。還有,各種資料庫都有內建 的協助文檔。裡面對標準SQL和它自己擴充的SQL都有詳細說明。
 
什地方可以下載sql命令大全

Sql參考手冊.chm 裡有

我發一個給你.
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.