您的位置:首页 > 数据库

SQL——学习笔记

2014-02-19 17:06 225 查看
时间:2014.02.19

地点:基地

————————————————————————————————————————

一、基本类型

char(n) ——固定长度的字符串,用户指定为n。不足用空格补齐

varchar(n) ——可变长度的字符串,用户指定最大长度n,是多少就是多少,不足也不会用空格补齐,但为了方便做比较操作,建议始终使用varchar类型

int ——整数类型(和机器相关的整数的有限子集)

smallint ——小整数类型(和机器相关的整数类型的子集)

numeric(p,d) ——定点数,精度由用户指定,这个数有p位数字,一个小数点符号位,其中d位数字在小数点右边,比如numeric(3,1)可以存储44.5,但444.5或0.32这样的数字就不行了。

real,double precision ——浮点数与双精度浮点数,精度与机器相关

floar(n) ——精度至少为n位的浮点数

其中每种类型都可能包含一个空值得特殊值,前面提到过,应该尽量避免使用这样的空值。

————————————————————————————————————————

二、基本模式

1. create table 命令定义SQL关系,比如

create table departname
        (dept_name varchar(20),
           building      varchar(15),
           budget       numeric(12,2),
           primary key (dept_name));
这里创建了一个department关系,包含三个属性,并指明dept_name属性为关系的主码。另外在很多SQL实现中,分号是可选的。

完整性约束

a) primary key(A1,A2,......An)属于完整性约束,用来指明属性A1,A2,......An构成关系的主码。主码的属性必须唯一非空。比如:

create table department
        (dept_name varchar(20),
         building       varchar(15),
         budget        nmueric(12,2),
         primary key(dept_name));
类似的完整性约束还有:

b) foreign key(A1,A2,......An) references xxx 用以说明关系中任意元组在属性(A1,A2,......An)上的取值必须对应于关系XXX中某元组在主码属性上的取值。比如:

foreign key(dept_name) references department
此外码表明对与关系中的每个元组来说,该元组所表示的dept_name属性值必然存在于department关系的主码属性dept_name中,若果没有这个约束的话,就可能关系中的某个项指定了一个并不存在的dept_name值。


create table course
         (course_id   varchar(7),
           title          varchar(15),
           dept_name varchar(20),
           crediits      numeric(2,0),
           primary key(course_id),
           foreign key(dept_name) references deptment);


c) not null 一个属性上的not null 约束表明在该属性上不允许空值

SQL会禁止破坏完整性约束的任何数据更新。

2.insert into XXX values() 插入数据

inser into instructor
       values(10211,'Smith','Biology',66000);


3.delete 命令删除元组

delete from studeng;

从student关系中删除所有元组。

4.drop table 命令从数据库中删除关系

drop table r;
注意与delete from区别,delete from只是删除元组,关系依旧存在,而drop则是彻底删除,包括元组和关系。

6.alter table r add A,D 命令为已有关系增加属性。A为待增加的属性,D为待增加属性的域。

7.alter table r drop A;

表从关系中去掉属性

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: