关系数据库标准语言SQL入门

关系数据库标准语言SQL

3.1 SQL概述

3.1.2 SQL的特点
  • 高度非过程化

  • 功能完并且一体化

  • 统一的语法结构

  • 语言简洁,易学易用

    ​ 数据查询:SELECT

    ​ 数据定义:CREATE,DROP

    ​ 数据操作:INSERT,UPDATE,DELETE

    ​ 数据控制:GRANT,REVOKE

3.2 SQL的定义功能

3.2.1基本表的定义
1.表结构的定义
CREATE TABLE<表名>
(<列名><数据类型>[列表完整性约束条件]
 [,<列名><数据类型>[列表完整性约束条件]···]
 [,<表级完整性约束条件>]
);
  • 表名是所要定义的基本表的名字,表可以由一个或多个属性(列)组成
  • 定义表的各个列时需要指明其数据类型及长度
SQL 92提供的主要数据类型
类型 数据类型举例及缩写 说明
Binary BLOB 以十六进制格式存储二进制字符串的值
BitString BIT(n)
BIT VARYING(n)
这两种数据类型可以存储二进制和十六进制数据
Boolean BOOLEAN true、false或unknow
Character CHAR(n)
VARCHAR(n)
存储适宜的字符集中的任意字符组合
Numeric INTEGER
SMALLINT
DECIMAL(i,j)
FLOAT(p,s)
REAL
DOUBLE PERCISION
这些数据类型存储数据的准确值(整数或小数)或近似值
Temporal DATE
TIME
TIMESTAMP
INTERVAL
这些数据类型处理时间的值
  • 完整性约束条件:Primary Key Foreign Key

【例3-1】

CREATE TABLE 学生
(学号 char(8) NOT NULL UNIQUE,
 姓名 char(8),
 性别 char(2),
 出生年份 SMALLINT,
 籍贯 char(8),
 学院 char(15));
2.主关键词的定义
(1)在列出关系模型的属性时,在属性及其类型后加上保留字PRIMARY KEY
(2)在列出关系模型的所有属性后,再附加一个声明:
PRIMARY KEY(<属性1>[,<属性2>,···])

【例3-2】

  • 方法一
CREATE TABLE 学生
(学号 char(8) PRIMARY KEY,
 姓名 char(8),
 性别 char(2),
 出生年份 SMALLINT,
 籍贯 char(8),
 学院 char(15));
  • 方法二
CREATE TABLE 学生
(学号 char(8),
 姓名 char(8),
 性别 char(2),
 出生年份 SMALLINT,
 籍贯 char(8),
 学院 char(15)
 PRIMARY KEY(学号));

【例3-3】

CREATE TABLE 课程
(课程号 SMALLINT NOT NULL UNIQUE,
 课程名 char(15),
 学时  SMALLINT,
 开课学期 char(4),
 课程性质 char(15),
 primary key(课程号));

【例3-4】

CREATE TABLE 学习
(学号 char(8),
 课程号 char(8),
 成绩 smallint,
 primary key(学习,课程号));
3. 外部关键字的定义
(1)如果外部关键词只有一个属性,可以在它的属性名和类型后面直接用REFERENCES说明它参照了某个表的某些属性(必须是PRIMARY KEY
REFERENCES <表名> (<属性>)
(2) 在属性列后面添加
FOREIGN KEY(<属性 1>REFERENCES<表名>(<属性2>))

【例3-5】

CREATE TABLE 学习
(学号 char(8),
 课程号 char(8),
 成绩 smallint,
 primary key(学习,课程号)
 FOREIGN KEY(学号 references 学生(学号))
 FOREIGN KEY(课程号 references 课程(课程号));
4.默认值的定义
性别 char(2) default '男';
年龄 smallint default 19;
3.2.2 基本表的修改和删除
ALTER TABLE 学生 ADD COLUMN 年龄 
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值