SQL总结

本文总结了SQL的主要操作,包括模式的创建与删除、表的增删改查、索引管理、查询语法(如WHERE子句、模糊查询、排序与聚集函数)、数据更新、视图、数据库安全性和完整性约束。详细介绍了各种操作的实例,如向表增加列、改变数据类型、创建索引、使用触发器和存储过程等。
摘要由CSDN通过智能技术生成

模式和表的定义与修改

模式的创建

CREATE SCHEMA Schema_Name AUTHORIZATION UserName;

模式的删除

DROP SCHEMA Schema_Name CASCADE;

在这里插入图片描述

表的创建和删除

创建表 CREATE TABLE
当时第一个创建的表

CREATE SCHEMA TEST AUTHORIZATION WANG
CREATE TABLE TAB1 ( COL1 SMALLINT,
				    COL2 INT,
					COL3 CHAR(20),
					COL4 NUMERIC(10,3),
					COL5 DECIMAL(5,2)
				  );

表 又可以增加约束 实体,参照,用户自定义三种约束 就是用来限制表的数据的规则
比如当时创建的表

CREATE TABLE Student
		(Sno CHAR(9) PRIMARY KEY,
		 Sname CHAR(20) UNIQUE,
		 Ssex CHAR(2),
		 Sage SMALLINT,
		 Sdept CHAR(20)
		 );


sno 为主码

表的修改

表的增加

例3.8 向Student表增加“入学时间”列,其数据类型为日期型
ALTER TABLE Student ADD S_entrance DATE;
例3.9 将年龄的数据类型由字符型改为整数
ALTER TABLE Student ALTER COLUMN Sage INT;
例3.10 增加课程名称必须取唯一值的约束条件
ALTER TABLE Course ADD UNIQUE(Cname);

表的删除

DEOP TABLE 表名;

如果加上cascade:就是级联删除和表上关联的索引 视图 约束等 一并删除 ;缺省值为restrict,就是提示且拒绝删除请求 SQL sever中,删除表,并不会将视图删除

索引的建立

例3.13 为学生-课程数据库中的Student,Course,SC三个表建立索引。
CREATE UNIQUE INDEX Stusno ON Student(Sno);
CREATE UNIQUE INDEX Coucno ON Course (Cno);
CREATE UNIQUE INDEX SCno ON SC(Sno ASC,Cno DESC);

索引更改

例3.14 将SC表的SCno索引名改为SCSno.
ALTER INDEX SCNO RENAME TO SCSNO;

这是标准sql的语法 tsql和标准sql有点不一样
标准sql

EXEC sp_rename '表名.旧索引名', '新索引名', 'index'
删除Student表的Stusno索引
DROP INDEX Stusname ON Student

查询

SELECT [ALL|DISTINCT] <目标列表达式>[,<目标列表达式>]FROM <表名或视图名>[,<表名或视图名> ]|(SELECT 语句)
[AS]<别名> [ WHERE <条件表达式> ] [ GROUP BY <列名1> [ HAVING <条件表达式> ] ] [ ORDER BY <列名2> [ ASC|DESC ] ];

例3.16 查询全体学生的学号与姓名。
SELECT Sno,Sname
FROM Student;

查询全部列

select *
from  表名

查询列名还可以用数学算式

例3.19
SELECT SNAME,2014-SAGE
FROM STUDENT;

在这里插入图片描述

列的别名

在select 列名后 加别名

select Sname,'出生月份:',2021-Sage,LOWER(Sdept)
from student;

LOWER () 时小写显示 UPPER () 是大写显示

ALL 和DISTINCT

ALL 一般不写 如果选择出来有重复的数据 都会显示
箱单DISTINCT 比较常用 去掉重复值

SELECR DISTINCT .....
where 子句

在选择时候选择符合 where子句的数据

between and用法:(可以加not)
select Sname , Sdept,Sage
from student
where Sage between 18 and 23;
in用法:(可以加not)
select Sname,Ssex
from student 
where Sdept in ('
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值