Author: This article is a blogger LI Qin original article, shall not be reproduced without the bloggers allowed.
Data Definition Language (DDL)
CREATE applications
CREATE TABLE tb_emp
(
id INT PRIMARY KEY,
name VARCHAR(25) NOT NULL,
deptId CHAR(2) NOT NULL,
salary SMAKKMONEY NULL
); #创建表
DROP function
DROP TABLE table_name #删除表
DROP DATABASE database_name #删除数据库
ALTER function
ALTER DATABASE test_db
MODIFY NAME=company #修改数据库名称
ALTER TABLE tb_emp
ADD birth DATE NOT NALL #改 birth 为非空
ALTER TABLE tb_emp
DROP COLUMN birth #删除 birth 字段
Data Manipulation Language (DML)
Insert data - INSERT
INSERT INTO table_name ( column_list )
VALUES ( value_list );
Change data - UPDATE
UPDATE table_name
SET column_name1=value1,column_name2=value2,……column_nameN=valueN
WHERE search_condition
Deleted data - DELETE
DELETE FROM table_name
[WHERE condition]
Data Query - SELECT
SELECT * FROM table_name
#可选条件:WHERE 、GROUP BY、ORDER BY
Data control statements (DCL)
Granted permission to operate - GRANT
GRANT UPDATE,DELETE ON stu_info
TO guest WITH GRANT OPTION
Refused permission to operate - DENY
DENY UPDATE ON stu_info TO guest CASCADE;
Withdraw permission to operate - REVOKE
REVOKE DELETE ON stu_info FROM guest;
Other basic statements
Data Statement - DECLARE
DECLARE @name VARCHAR(20) #可以声明赋值,也可以后赋值
Data assignment - SET
DECLARE @name VARCHAR(20)
SET @name = '小花'
SELECT can also be assigned, but saves only the last value return multiple values.
Data output - PRINT
DECLARE @name VARCHAR(20) = '小花'
DECLARE @age INT = 18
PRINT '姓名 年龄'
PRINT @name+' '+CONVERT(varchar(20),@age)
Flow control statements
BEGIN ... END statement
DECLARE @count INT;
SELECT count=0;
WHILE @count <10
BEGIN
PRINT 'count = ' +CONVERT(varchar(8),@count);
SELECT @count = @count +1;
END
PRINT 'loop over count = ' +CONVERT(varchar(8),@count);
IF ... ELSE statement
DECLARE @age INT;
SELECT @age=40
IF @age < 30
PRINT 'This is a young man !'
ELSE
PRINT 'This is a old man !'
CASE statement
SELECT s_id,s_name,
CASE s_name
WHEN '小红' THEN '36E'
WHEN '小花' THEN '36G'
WHEN '小君' THEN '35D'
ELSE '无'
END
AS '型号'
FROM stu_info
WHILE statement
DECLARE @count INT;
SELECT count=0;
WHILE @count <10
BEGIN
PRINT 'count = ' +CONVERT(varchar(8),@count);
SELECT @count = @count +1;
END
PRINT 'loop over count = ' +CONVERT(varchar(8),@count);
GOTO 语句
BEGIN
SELECT s_name FROM stu_info;
GOTO jump
SELECT s_score FROM stu_info;
jump:
PRINT '第二条 SELECT 语句没有执行'
END
WAITFOR statement
DECLARE @name VARCHAR(50);
SET @name='admin';
BEGIN
WAITFOR DELAY '00:00:10';
PRINT @name;
END;
RETURN statement
RETURN [ integer_expression ]