Sql Server常用脚本写法

Sql Server常用脚本写法

1.用户和权限
语法结构:创建用户
CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK]
语法结构:授权
GRANT  角色|权限 TO 用户(角色)
语法结构:其他操作
//回收权限
REVOKE 角色|权限 FROM 用户(角色)
//修改用户的密码
ALTER USER 用户名 IDENTIFIED BY 新密码
//修改用户处于锁定(非锁定)状态
ALTER USER 用户名 ACCOUNT LOCK|UNLOCK
 
2.创建表和约束
语法格式:ALTER TABLE命令
ALTER TABLE 表名 ADD CONSTRAINT 约束名 约束内容。
 
3.数据操纵语言(DML)
语法结构:简单查询
SELECT *|列名|表达式 FROM 表名 WHERE 条件 ORDER BY 列名
代码演示:内联接
请查询出工资大于2000元的,员工姓名,部门名称,工作,工资。由于部门名称在dept中,其他的信息在emp表中,需要内联接才能完成。
 SELECT e.ENAME,e.JOB,e.SAL,d.DNAME FROM emp e,dept d WHERE e.deptno=d.deptno AND e.SAL>2000;
代码演示:外联接
请查询出每个部门下的员工姓名,工资。Emp表用外键deptno引用Dept表中的deptno,在Dept表中如果有某些部门没有员工,那么用内联接,没有员工的部门将无法显示,因此必须以Dept表为基准的外联接。
SELECT e.ENAME,e.JOB,e.SAL,d.DNAME FROM EMP e ,DEPT d WHERE  e.DEPTNO(+)=d.DEPTNO
代码演示:单行子查询
SELECT ENAME,JOB,SAL FROM EMP WHERE DEPTNO=(SELECT DEPTNO FROM DEPT WHERE DNAME='SALES')
代码演示:ANY子查询
SELECT ENAME,JOB,SAL FROM EMP WHERE SAL<ANY (SELECT SAL FROM EMP WHERE JOB='SALESMAN')
代码演示:ALL子查询
SELECT ENAME,JOB,SAL FROM EMP WHERE SAL>ALL (SELECT SAL FROM EMP WHERE JOB='SALESMAN')
语法结构:根据结果集创建表
CREATE TABLE 表名 AS SELECT语句
语法结构:INSERT INTO插入数据
INSERT INTO 表名(列名1,列名2……) VALUES (值1,值2……)
语法结构:UPDATE更新数据
UPDATE 表名 SET 列名1=值,列名2=值…… WHERE 条件
语法结构:DELETE删除数据(数据可以通过日志文件恢复)
DELETE FROM表名 WHERE 条件
语法结构:TRUNCATE删除数据(数据不可恢复)
TRUNCATE TABLE 表名