2019-11-04

create table students

(

sno numeric(6,0) not null,

sname char(8) not null,

age numeric(3,0),

sex char(2),

bplace char(20),

primary key(sno)

)

create table enrolls

(

sno numeric(6,0) not null,

cno char(4) not null,

grade int,

primary key(sno,cno),

foreign key(sno) references students(sno),

foreign key(cno) references courses(cno),

check((grade is null)or(grade between 0 and 100))

)

select * from

(select S#,Score from SC where C#='001') a,

(select S#,Score from SC where C#='002') b

where a.S#=b.S# and a.Score>b.Score

select a.lastname '姓', a.firstname '名' from persons a

select lastname as 姓, firstname as 名 from persons

like 通配符 % *

操作符 = < > <>>==<

where 条件

drop table 表名

delete from table 表名 where 条件 group by 列名(asc默认是降序,desc是升序)

insert into 表名(列名,)values(值1,)

SQL功能强大,但是概括起来,它可以分成以下几组:

DML

(Data Manipulation Language,数据操作语言):用于检索或者修改数据;

DDL

(Data Definition Language,数据定义语言): 用于定义数据的结构,比如 创建、修改或者删除数据库对象;

DCL

(Data Control Language,数据控制语言):用于定义数据库用户的权限。

DML

组可以细分为以下的几个语句:

SELECT

:用于检索数据;

INSERT

:用于增加数据到数据库;

UPDATE

:用于从数据库中修改现存的数据

DELETE

:用于从数据库中删除数据。

DDL

语句可以用于创建用户和重建数据库对象。下面是DDL命令:

CREATE TABLE

ALTER TABLE

DROP TABLE

CREATE INDEX

DROP INDEX

DCL

命令用于创建关系用户访问以及授权的对象。下面是几个DCL命令:

ALTER PASSWORD

GRANT

REVOKE

CREATE SYNONYM


SELECT*FROMtableWITH(HOLDLOCK) 其他事务可以读取表,但不能更新删除

SELECT*FROMtableWITH(TABLOCKX) 其他事务不能读取表,更新和删除

GRANT CREATE TABLE TO Alex WITH GRANT OPTION; --将建表的权限和授予建表权限的权限授予Alex;

GRANT SELECT TO Alex; --将SELECT权限授予Alex;

GO

REVOKE CREATE TABLE FROM Alex CASCADE; --撤回Alex建表和授予建表权限的权限;

DENY SELECT TO Alex; --否认Alex的SELECT权限;

常用数据库对象

数据库、登录名、架构、表、触发器、存储过程、视图、索引、函数、类型和用户等

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容