初识数据库
结构化查询语言SQL(Structured Query Language)
数据定义语言DDL(Data Definition Language)
针对数据库以及数据库中的对象的语句
分类
create、alter、drop
数据库中的对象
表、视图、触发器、存储过程、规则、缺省、用户自定义的数据类型等
create
定义基本表
create table 表名(
列名1 类型 约束,
列名2 类型 约束,
列名3 类型 约束,
...
);
create table student(
sno char(10) primary key,
sname varchar(20) not null,
sage smallint,
ssex char(2),
sdept varchar(20));
alter
增加表中的属性(列)
alter table r add 列名 类型;
alter table student add phone char(16);
注意:
allow null(新添加的属性要允许为空)
已有的元组中该属性的值被置为空
修改表中的某属性(某列)
alter table r alter column a
alter table student alter column sdept varchar(100) not null;
本质:重新定义某属性
删除表中的某属性(某列)
alter table r drop column a;
alter table student drop column sage;
drop
删除表
drop table r;
drop table student;
数据操控语言DML(Data Manipulation Language)
用来查询、添加、修改和删除数据库中数据的语句
分类
insert、delete、update、select
数据添加
insert into r values(some values);
insert into r(value1,values2,...) values(value1,value2,...);
insert into student
values('01001','张三',27,'M','CS');
insert into student
values('01002',null,'李四');
数据删除
delete from r where p;
delete from student where sno='001'; delete from sc where grade is null; delete from sc;
数据更新
改变符合条件的某个(某些)元组的属性值
update student set sdept = 'MA',sage += 1 where sno='001'; update student set sage += 1;
数据查询
select col1,col2,col3,...,coln from r1,r2,r3,...,rn where p
select默认保留重复元组(all),可用distinct去除重复元组
星号 * 表示所有属性
select * from student;
显示列出属性名:按用户顺序排列
更名
为结果集中的某个属性改名
使结果更具有可读性
select sno as '学号',cno as '课程号',grade as '成绩' from sc; select sno,Year(Getdate())-sage as birthYear from student;
where子句
运算符:比较、确定范围(between A and B 或者 not between A and B)、确定集合(in或者not in)、字符匹配(like或者not like)、空值(is null 或者 is not null)、多重条件(and or not)
SELECT Sno, sage FROM Student WHERE Sno IN (‘001’,’003’,’004’) ORDER BY sage
字符匹配:like、not like(配合通配符使用)
通配符:% _
转义符escape/(转义_和%)
from子句
列出将被查询的关系(表)
order by子句
ASC升序(默认)、DESC降序
写在where语句后
order by r1 ASC/DESC,r2 ASC/DESC,...
Select sno, sname,ssex,sage From Student Where sdept = ‘CS’ And ssex=‘m’ Order By 4,sage DESC
数字代表select后的第几个列名

浙公网安备 33010602011771号