SQL——学习笔记

时间: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;

表从关系中去掉属性



          

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值