SQL定义、删除、修改基本表

SQL定义、删除、修改基本表



定义基本表

create table <表名>
(<列名><数据类型>[<列级完整性约束>]
[{,<列名><数据类型>[<列级完整性约束>]}]
[{, [<表级完整性约束>]}]

如:
create table department
( dept_name varchar(20) ,
building varchar(15),
budget numeric(12, 2),
primary key ( dept_name));

SQL标准支持的固有类型

char(n):固定长字符串,长度不足n用空格补齐;
varchar:可变长字符串,最大长度为n;
int:整数类型,等价于全称integer;
smallint:小整数类型;
numeric(p, d):定点数,这个数字有p位数字(加上一个符号位),其中d位数字在小数点右侧;
real, double precision:浮点数与双精度浮点数,精度与机器相关;
float(n): 精度至少为n位的浮点数;
date:日历日期,包括年(四位),月和日;
time:一天中的时间,包括小时、分和秒;
timestamp:date和time的组合;

完整性约束

主键:primary key (A, B, C......)
特点:1.任意两行(元组)都不具有相同的主键值;
2.每一行都必须具有一个主键值(主键列不允许NULL值);
3.主键列中的值不允许修改或更新;
4.主键值不能重用(如果某行从表中删除,它的主键不能赋给以后的新行)。
外键:foreign key (A, B, ...) references
外键声明的表中任意的记录在属性(A, B, ....)上的取值必须对应于references指定的表在其主键上的取值。
create table course
( course_id varchar(7) ,
title varchar(50),
dept_name varchar(20),
credits numeric(2, 0),
primary key (course_id ),
foreign key (dept_name) references department);

其他完整性约束

not null:该属性不允许空值。
nuique:可以为空值,但不允许有重复值
check(P):关系中所有元组必须满足P,例:
create table instructor
( ID varchar(5),
name varchar(20) not null ,
dept_name varchar(20),
salary numeric(8, 2), check (salary > 29000),
primary key ( ID),
foreign key (dept_name) references department);

向表进行属性的修改(增删)

向student表增加“入学时间”属性
alter table student add scome date;
删除course表中的name属性
alter table course drop name;


删除表及表中记录

删除基本表
语法: drop table <表名>
例子:drop table student;
删除表中的数据记录
语法:delete from <表名>
例子:delete from student;

SQL基本查询功能

查询语句select的语法:
Select [ALL|DISTINCT]<目标表达式>[{,<目标表达式>}]
From <表名或视图名>[{,<表名或视图名>}]
[Where <条件表达式>]
[Group By <分组列> [{,<分组列>}][HAVING <条件表达式>]]
[Order By <排序列> <排序方式>[{,<排序列> <排序方式>}]


其语法是:
FROM子句给定的表中,检索出满足WHERE子句给定检索条件的记录,并根据SELECT子句从这些记录中
选出指定的列(属性)所构成的结果集合。SELECT和FROM两个子句定义了投影操作。 WHERE子句给出了选取
操作的定义(当涉及多表操作时,WHERE子句要同时给出连接操作条件)。

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值