SQL Server Transact-SQL—— SQL语句
数据定义语句(DDL)
CREATE 的应用
CREATE TABLE tb_emp
(
id INT PRIMARY KEY,
name VARCHAR(25) NOT NULL,
deptId CHAR(2) NOT NULL,
salary SMAKKMONEY NULL
); #创建表
DROP 的功能
DROP TABLE table_name #删除表
DROP DATABASE database_name #删除数据库
ALTER 的功能
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 字段
数据操作语句(DML)
数据的插入—— INSERT
INSERT INTO table_name ( column_list )
VALUES ( value_list );
数据的更改—— UPDATE
UPDATE table_name
SET column_name1=value1,column_name2=value2,……column_nameN=valueN
WHERE search_condition
数据的删除—— DELETE
DELETE FROM table_name
[WHERE condition]
数据的查询—— SELECT
SELECT * FROM table_name
#可选条件:WHERE 、GROUP BY、ORDER BY
数据控制语句(DCL)
授予权限操作 —— GRANT
GRANT UPDATE,DELETE ON stu_info
TO guest WITH GRANT OPTION
拒绝权限操作 —— DENY
DENY UPDATE ON stu_info TO guest CASCADE;
收回权限操作 —— REVOKE
REVOKE DELETE ON stu_info FROM guest;
其他基本语句
数据声明 —— DECLARE
DECLARE @name VARCHAR(20) #可以声明赋值,也可以后赋值
数据赋值 —— SET
DECLARE @name VARCHAR(20)
SET @name = '小花'
SELECT 也可以赋值,但是返回多个值时只保存最后一个值。
数据输出 —— PRINT
DECLARE @name VARCHAR(20) = '小花'
DECLARE @age INT = 18
PRINT '姓名 年龄'
PRINT @name+' '+CONVERT(varchar(20),@age)
流程控制语句
BEGIN … END 语句
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 语句
DECLARE @age INT;
SELECT @age=40
IF @age < 30
PRINT 'This is a young man !'
ELSE
PRINT 'This is a old man !'
CASE 语句
SELECT s_id,s_name,
CASE s_name
WHEN '小红' THEN '36E'
WHEN '小花' THEN '36G'
WHEN '小君' THEN '35D'
ELSE '无'
END
AS '型号'
FROM stu_info
WHILE 语句
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 语句
DECLARE @name VARCHAR(50);
SET @name='admin';
BEGIN
WAITFOR DELAY '00:00:10';
PRINT @name;
END;
RETURN 语句
RETURN [ integer_expression ]
还没有评论,来说两句吧...