【学习数据库】SQL语句之表与索引的更新

  • 全称:Structured Query Language(结构化查询语言)
  • 不区分大小写

【】为必填
《》为选填
【D】表示数据库名
【int/char(n)/double/Date…】表示基本数据类型
《not null/primary key/default…》表示约束
【T】表示表名
【C】表示列名
【i】表示索引名
【V】表示值,控制用NULL
【Z】子查询结果(见嵌套查询)
【F】表示条件

语句作用
create database【D】建立一个名为D的数据库
create table【T】(【C】【int/char(n)/double/Date…】《not null/primary key/default…》【C1】…,【C2】…)建立一个名为T的表,列名分别为C,C1,C2,数据类型选一个,约束条件可有可无
alter table【T】add 【C】【int/char(n)/double/Date…】《not null/primary key/default…》给表T添加一列C
alter table【T】drop《not null/primary key/default…》在表T中删除完整性约束条件
alter table【T】alter column【C】【int/char(n)/double/Date…】在表T中修改原有列C
alter table【T】drop column【C】在表T中删除列C
sp_rename【T.C1】【C2】column将列C1重命名为C2
sp_rename【T1】,【T2】将表T1重命名为T2
drop table【T】《restrict/cascade》删除表T,restrict当表T有依赖关系不可删除,cascade无限制删除
insert into【T】 values【(V1,V2…)】在表T中插入一行,值V1,V2应与表头列的顺序对应
insert into【T】【(C1,C2…)】values【(V1,V2…)】在表T中插入一行,值V1,V2应与列C1,C2对应
insert into【T】【Z】在表T中插入子查询Z的结果
update【T】set【C1=V1,C2=V2…】修改所有行的列C1的值为V1值,列C2的值为V2值
update【T】set【C1=V1,C2=V2…】where【F】在表T中查询满足条件F的行,修改对应列C1的值为V1值,对应列C2的值为V2值
delete from【T】删除表T的所有行(元组)
delete from【T】where【F/Z】在表T中删除满足条件F的行
create《unique/clustered》index【i】on【T】(【C】《asc/desc》)给表T的列C建立名为i的索引,unique表示非聚簇索引,clustered表示聚簇索引,区别在于效率,后者高,适用于不经常更新的列。asc代表升序,desc代表降序
drop index【T.i】删除表T的索引i

技巧

  • 所有的名字不得冲突,即名字唯一,不能使用关键字
  • 名字与大小写无关,名字以字母开头
  • 一表中最多有254个列
  • 一表最多有249个索引

说再多不如自己实践
上例子

create database test0

在这里插入图片描述


create table Student
(
Sno char(9) not null primary key,
Sname char(10) not null,
Ssex char(2) default '男',
Sage int,
Sdep char(20)
)

在这里插入图片描述


sp_rename 'student.Sage', 'age', 'COLUMN'

在这里插入图片描述


CREATE CLUSTERED INDEX c_cno ON course(Cno)

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序鸡

如果帮到您,点个赞鼓励一下吧。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值