基础SQL语句(部分)

基础SQL语句知识
创建指令
  • 创建数据库
create database <数据库名>
ON [PRIMARY]
(
<数据文件参数>[,···n] [<文件组参数>]
)
[LOG ON]
(
{<日志文件参数> [,···n]}
)

文件参数解释:
( [NAME=逻辑文件名,]
FILENAME=物理文件名
[,SIZE=大小]
[,MAXSIZE={最大容量|UNLIMITED}]
[,FILEGROWTH=增长量] ) [,···n]

  • 创建表格

create table<表名>(<列名><数据类型>[列级完整性约束条件],……<列名><数据类型>[列级完整性约束条件]……[,<表级完整性条件>])

例:创建一个学生表S,由学号SNO,姓名SN,性别SEX,年龄AGE构成,其中学号为主键,年龄约束必须大于0,姓名,年龄与性别不为空,假设姓名具有唯一性,并建立唯一性索引,而且性别只能在男女中选择,年龄不能小于0.

create table S
(  SNO char(5) primary key,
   SN varchar(10) not null,
   SEX char(2) not null check(SEX IN ('男','女'),
   constraint SN_U unique(SN)
)

创建视图

create view<视图名>[(<列名>)[,<列名>]……)] AS <子查询>[WITH CHECK OPTION][;]
注:<子查询>可以是复杂的SELECT语句,但通常不允许包含ORDER BY子句和DISTICT语句,WITH CHECK OPTION可以确保提交修改后,仍可通过视图看到数据。

示例:建立信息学生的视图

create view IS_S AS select sno,sn,age from s where DEPT='信息' with check option
  • 创建索引

create [unique] [clustered|nonclustered] index <索引名> on {<表名>|<视图名>} (<列名>[ASC|DESC][,……n]) [with <索引选项>[,···n]][ON 文件组名]

例:给C表按课程号降序建立聚簇索引(C为课程表)

create clustered index C_CNO on C(CNO DESC)
插入语句(insert)
  • 插入单行数据
insert into <表名> (<列名>][,……<列名>]) values(······)

注意:如果列名不写的话则values里面必须是所有列的值,且排列顺序不能变。

  • 插入多行数据的select写法
insert into <表名> (<列名>][,……<列名>]) select  (<列名>][,……<列名>])·······
更新语句(update)
update <表名> set <列名>='某个值'
查询(select)

查询条件通配符

  • 常用集函数及统计汇总查询

count:返回组中项目数量;
sum:求和
Avg:求平均值
MAX:求最大值
MIN:求最小值

  • 分组查询
    Group by ,此时筛选条件不能用where,只能用having
  • select ……into,将查询出来的语句存放到一个临时的视图或表中
alter用法

修改关键词,可以用来修改表。

1、向表中添加列
Alter table <表名> add <列名> <数据类型>
2、修改某列的数据类型
Alter table <表名> alter column <列名> <数据类型>
3、删除某例
Alter table <表名> drop column <列名>
4、禁止表中的参照完整性
Alter table<表名> nocheck <参照完整性的约束名>
5、启用或禁用trigger_name
Alter table <表名> {enable|disable} triger {ALL | trigger_name[,……n]}

数据控制

1、系统权限和角色的授予
GRANT <系统角色>|<角色>[,<系统角色>|<角色>]···TO<用户>|<角色>|PUBLIC[,<用户>|<角色>]···[WITH GRANT OPTION]
2、系统权限与角色的收回
REVOKE <系统角色>|<角色>[,<系统角色>|<角色>]···FROM <用户>|<角色>|PUBLIC[,<用户>|<角色>]···
3、对象权限和角色的授予
GRANT ALL|<对象权限>[(列名[,列名]···)][,<对象权限>]···ON<对象名>TO<用户>|<角色>|PUBLIC[,<用户>|<角色>]···[WITH GRANT OPTION]
4、对象权限与角色的回收
REVOKE <对象权限>|<角色>[,<对象权限>|<角色>]···FROM <用户名>|<角色>|PUBLIC[,<用户名>|<角色>]···
例:1)把创建表的权限授给用户U1
Grant creat table to U1
2)把U1所拥有的创建表权限回收
Revoke create table from U1
3)把查询S表的权限授予用户U1
Grant select on S to U1
4)收回用户U1对S表的查询权限
Revoke select on S from U1

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值