[Knowledge Base] - commonly used SQL statements Grammar sample database _MySQL

  

 

  Jane author: seay

  Article Source:  relational databases commonly used SQL statements Grammar

 

  Learn   [check has been tested]

    First, create a database

    Second, create a table

    Third, delete the table

    Fourth, Empty Table

    Fifth, modify the table

    Six, SQL query

    Seven, SQL insert statement

    Eight, SQL update statement

    Nine, SQL delete statement

    Ten, to create an index

    XI, create a view

    XII Delete View

    Thirteen, SQL access control

 

 

First, create a database

  grammar

The CREATE  DATABASE database name;

 

  Examples

CREATE DATABASE Gary

  

  

 

 

Second, create a table

  grammar

The CREATE  TABLE  < table name > ( < column name >  < data type > [ column-level integrity constraints ] 
                  [ , <column name> <data type> [column-level integrity constraints ] ] ...);

  Column-level integrity constraints have NULL [nullable], NOT NULL [not null], UNIQUE [single] may be used in combination, but not repeated, and the opposite relationship exist.

  Examples

- Create a table of students 
the CREATE  TABLE Student 
( 
  Id INT  the NOT  NULL  UNIQUE  PRIMARY  KEY , 
  the Name VARCHAR ( 20 ) the NOT  NULL , 
  Age INT  NULL , 
  Gender VARCHAR ( 4 ) NULL 
);

 

   

 

Third, delete the table

  grammar

DROP TABLE <表名>;

  Examples

- Delete student table 
DROP  TABLE Student;

 

   [After deleting the table top can be reused to create added Student shows an example of a database table, and add some fake data in the table]

 

  

 

 

Fourth, Empty Table

  grammar

TRUNCATE TABLE <表名>;

  Examples

-- 清空学生表
TRUNCATE TABLE Student;

 

 

五、修改表

  语法

-- 添加列
ALTER TABLE <表名> [ADD <新列名> <数据类型>[列级完整性约束条件]]
-- 删除列
ALTER TABLE <表名> [DROP COLUMN <列名>]
-- 修改列
ALTER TABLE <表名> [MODIFY COLUMN <列名> <数据类型> [列级完整性约束条件]]

  示例

-- 添加学生表`Phone`列
ALTER TABLE Student ADD Phone VARCHAR(15) NULL;
-- 删除学生表`Phone`列
ALTER TABLE Student DROP COLUMN Phone;
-- 修改学生表`Phone`列
ALTER TABLE Student MODIFY Phone VARCHAR(13) NULL;

 

  

 

 

六、SQL查询语句

  语法

SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>]FROM <表名或视图名>[,<表名或视图名>][WHERE <条件表达式>]
  [GROUP BY <列名> [HAVING <条件表达式>]]
  [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 DESC

 

  

 

 

七、SQL插入语句

  语法

-- 插入不存在的数据
INSERT INTO <表名> [(字段名[,字段名]…)] VALUES (常量[,常量]…);
-- 将查询的数据插入到数据表中
INSERT INTO <表名> [(字段名[,字段名]…)] SELECT 查询语句;

  示例

-- 插入不存在的数据
INSERT INTO Student (Id,Name,Age,Gender) VALUES (49,'Gary',30,'');
-- 将查询的数据插入到数据表中
INSERT INTO Student (Name,Age,Gender)
  SELECT Name,Age,Gender FROM Student WHERE Id =10;

  

  

 

 

八、SQL更新语句

  语法

UPDATE <表名> SET 列名=值表达式[,列名=值表达式…]
  [WHERE 条件表达式]

  示例

-- 将Id在(10,100)的Age加1
UPDATE Student SET Age= Age+1 WHERE Id>10 AND Id<100

 

  

 

 

九、SQL删除语句

  语法

DELETE FROM <表名> [WHERE 条件表达式]

  示例

-- 删除Id小于10的数据记录
DELETE FROM Student WHERE Id<10;

 

   

 

 

十、创建索引

  语法

CREATE [UNIQUE] [CLUSTER] INDEX <索引名> ON <表名>(<列名>[<次序>][,<列名>[<次序>]]…);

  UNIQUE:表明此索引的每一个索引值只对应唯一的数据记录
  CLUSTER:表明建立的索引是聚集索引
  次序:可选ASC(升序)或DESC(降序),默认ASC

 

  示例 

-- 建立学生表索引:单一字段Id索引倒序
CREATE UNIQUE INDEX INDEX_SId ON Student (Id DESC);
-- 建立学生表索引:多个字段Id、Name索引倒序
CREATE UNIQUE INDEX INDEX_SId_SName ON Student (Id DESC,Name DESC);

 

  

 

 

十一、创建视图

  语法

CREATE VIEW <视图名>
  AS SELECT 查询子句
  [WITH CHECK OPTION]

  查询子句:子查询可以是任何SELECT语句,但是常不允许含有ORDER BY子句和DISTINCT短语;
  WITH CHECK OPTION:表示对UPDATE、INSERT、DELETE操作时要保证更新。

  示例

CREATE VIEW VIEW_Stu_Man
AS SELECT * FROM Student WHERE Gender = ''
WITH CHECK OPTION

 

  

 

  

 

 

十二、删除视图

  语法

DROP VIEW <视图名>;

  示例

DROP VIEW VIEW_Stu_Man;

 

   

 

十三、SQL的访问控制

  访问控制是控制用户的数据存储权限,由DBA来决定。
  SQL标准语句包括SELECT、INSERT、UPDATE和DELETE

  语法

-- 1.授权
GRANT <权限>[,<权限>][ON <对象类型> <对象名>]
  TO <用户>[,<用户>][WITH GRANT OPTION]
-- 2.收回授权
REVOKE <权限>[,<权限>][ON <对象类型> <对象名>]
  FROM <用户>[,<用户>]

  WITH GRANT OPTION:若指定此子句,表示该用户可以将权限赋给其他用户

  示例

-- 授权
GRANT SELECT,INSERT,UPDATE ON TABLE TO USER_Admin WITH GRANT OPTION
-- 收回授权
REVOKE SELECT,INSERT,UPDATE ON TABLE FROM USER_Admin

 

Guess you like

Origin www.cnblogs.com/1138720556Gary/p/11220719.html