摘要:創(chuàng)建表語法表名列名數(shù)據(jù)類型列級(jí)完整性約束條件列名數(shù)據(jù)類型列級(jí)完整性約束條件列級(jí)完整性約束條件有可為空不為空唯一,可以組合使用,但是不能重復(fù)和對(duì)立關(guān)系同時(shí)存在。
創(chuàng)建表 語法
CREATE TABLE <表名>(<列名> <數(shù)據(jù)類型>[列級(jí)完整性約束條件] [,<列名> <數(shù)據(jù)類型>[列級(jí)完整性約束條件]]…);
示例列級(jí)完整性約束條件有NULL[可為空]、NOT NULL[不為空]、UNIQUE[唯一],可以組合使用,但是不能重復(fù)和對(duì)立關(guān)系同時(shí)存在。
-- 創(chuàng)建學(xué)生表 CREATE TABLE Student ( Id INT NOT NULL UNIQUE PRIMARY KEY, Name VARCHAR(20) NOT NULL, Age INT NULL, Gender VARCHAR(4) NULL );刪除表 語法
DROP TABLE <表名>;示例
-- 刪除學(xué)生表 DROP TABLE Student;清空表 語法
TRUNCATE TABLE <表名>;示例
-- 刪除學(xué)生表 TRUNCATE TABLE Student;修改表 語法
-- 添加列 ALTER TABLE <表名> [ADD <新列名> <數(shù)據(jù)類型>[列級(jí)完整性約束條件]] -- 刪除列 ALTER TABLE <表名> [DROP COLUMN <列名>] -- 修改列 ALTER TABLE <表名> [MODIFY COLUMN <列名> <數(shù)據(jù)類型> [列級(jí)完整性約束條件]]示例
-- 添加學(xué)生表`Phone`列 ALTER TABLE Student ADD Phone VARCHAR(15) NULL; -- 刪除學(xué)生表`Phone`列 ALTER TABLE Student DROP COLUMN Phone; -- 修改學(xué)生表`Phone`列 ALTER TABLE Student MODIFY Phone VARCHAR(13) NULL;SQL查詢語句 語法
SELECT [ALL|DISTINCT] <目標(biāo)列表達(dá)式>[,<目標(biāo)列表達(dá)式>]… FROM <表名或視圖名>[,<表名或視圖名>]… [WHERE <條件表達(dá)式>] [GROUP BY <列名> [HAVING <條件表達(dá)式>]] [ORDER BY <列名> [ASC|DESC]…]
示例SQL查詢語句的順序:SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY。SELECT、FROM是必須的,HAVING子句只能與GROUP BY搭配使用。
SELECT * FROM Student WHERE Id>10 GROUP BY Age HAVING AVG(Age) > 20 ORDER BY Id DESCSQL插入語句 語法
-- 插入不存在的數(shù)據(jù) INSERT INTO <表名> [(字段名[,字段名]…)] VALUES (常量[,常量]…); -- 將查詢的數(shù)據(jù)插入到數(shù)據(jù)表中 INSERT INTO <表名> [(字段名[,字段名]…)] SELECT 查詢語句;示例
-- 插入不存在的數(shù)據(jù) INSERT INTO Student (Name,Age,Gender) VALUES ("Andy",30,"女"); -- 將查詢的數(shù)據(jù)插入到數(shù)據(jù)表中 INSERT INTO Student (Name,Age,Gender) SELECT Name,Age,Gender FROM Student_T WHERE Id >10;SQL更新語句 語法
UPDATE <表名> SET 列名=值表達(dá)式[,列名=值表達(dá)式…] [WHERE 條件表達(dá)式]示例
-- 將Id在(10,100)的Age加1 UPDATE Student SET Age= Age+1 WHERE Id>10 AND Id<100SQL刪除語句 語法
DELETE FROM <表名> [WHERE 條件表達(dá)式]示例
-- 刪除Id小于10的數(shù)據(jù)記錄 DELETE FROM Student WHERE Id<10;創(chuàng)建索引 語法
CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>]]…);
示例UNIQUE:表明此索引的每一個(gè)索引值只對(duì)應(yīng)唯一的數(shù)據(jù)記錄
CLUSTER:表明建立的索引是聚集索引
次序:可選ASC(升序)或DESC(降序),默認(rèn)ASC
-- 建立學(xué)生表索引:?jiǎn)我蛔侄蜪d索引倒序 CREATE UNIQUE INDEX INDEX_SId ON Student (Id DESC); -- 建立學(xué)生表索引:多個(gè)字段Id、Name索引倒序 CREATE UNIQUE INDEX INDEX_SId_SName ON Student (Id DESC,Name DESC);刪除索引 語法
DROP INDEX <索引名>;示例
-- 刪除學(xué)生表索引 INDEX_SId DROP INDEX INDEX_SId;創(chuàng)建視圖 語法
CREATE VIEW <視圖名> AS SELECT 查詢子句 [WITH CHECK OPTION]
示例查詢子句:子查詢可以是任何SELECT語句,但是常不允許含有ORDER BY子句和DISTINCT短語;
WITH CHECK OPTION:表示對(duì)UPDATE、INSERT、DELETE操作時(shí)要保證更新。
CREATE VIEW VIEW_Stu_Man AS SELECT * FROM Student WHERE Gender = "男" WITH CHECK OPTION刪除視圖 語法
DROP VIEW <視圖名>;示例
DROP VIEW VIEW_Stu_Man;SQL的訪問控制
語法訪問控制是控制用戶的數(shù)據(jù)存儲(chǔ)權(quán)限,由DBA來決定。
SQL標(biāo)準(zhǔn)語句包括SELECT、INSERT、UPDATE和DELETE
-- 1.授權(quán) GRANT <權(quán)限>[,<權(quán)限>]… [ON <對(duì)象類型> <對(duì)象名>] TO <用戶>[,<用戶>]… [WITH GRANT OPTION] -- 2.收回授權(quán) REVOKE <權(quán)限>[,<權(quán)限>]… [ON <對(duì)象類型> <對(duì)象名>] FROM <用戶>[,<用戶>]…
示例WITH GRANT OPTION:若指定此子句,表示該用戶可以將權(quán)限賦給其他用戶
-- 授權(quán) GRANT SELECT,INSERT,UPDATE ON TABLE TO USER_Admin WITH GRANT OPTION -- 收回授權(quán) REVOKE SELECT,INSERT,UPDATE ON TABLE FROM USER_Admin
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/17515.html
摘要:連接查詢涉及兩個(gè)及以上的表查詢?yōu)檫B接查詢。查詢二班學(xué)生成績(jī)二班聚合函數(shù)查詢聚合函數(shù)是一個(gè)值的集合為輸入,返回單個(gè)值的函數(shù)。具體的數(shù)據(jù)庫還會(huì)預(yù)定義一些其他常用的函數(shù),比如字符串相聚合函數(shù)時(shí)間聚合函數(shù)。 前言 上一篇關(guān)系數(shù)據(jù)庫常用SQL語句語法大全主要是關(guān)系型數(shù)據(jù)庫大體結(jié)構(gòu),本文細(xì)說一下關(guān)系型數(shù)據(jù)庫查詢的SQL語法。 showImg(http://upload-images.jiansh...
閱讀 981·2021-11-22 09:34
閱讀 2165·2021-11-11 16:54
閱讀 2201·2021-09-27 14:00
閱讀 945·2019-08-30 15:55
閱讀 1533·2019-08-29 12:46
閱讀 604·2019-08-26 18:42
閱讀 644·2019-08-26 13:31
閱讀 3188·2019-08-26 11:52