码迷,mamicode.com
首页 > 数据库 > 详细

Sql学习笔记1

时间:2015-04-19 11:24:19      阅读:151      评论:0      收藏:0      [点我收藏+]

标签:

*所学课本为数据库系统概念(第6版)由耶鲁大学、利哈伊大学和印度理工学院的几个外国人编的。

1、SQL查询语言概览:数据定义语言(DDL)、数据操纵语言(DML)、完整性、视图定义、事务控制、嵌入式SQL和动态SQL、授权。

2、 数据定义
2.1 基本类型:
char(n)       固定长度字符串
 varchar(n)      可变长度字符串,用户指定最长长度n。
int  smallint  bigint 和tinyint  区别如下

bigint

从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。存储大小为 8 个字节。

int

从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。存储大小为 4 个字节。int 的 SQL-92 同义字为 integer

smallint

从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。存储大小为 2 个字节。

tinyint

从 0 到 255 的整型数据。存储大小为 1 字节。

numeric(p,d)  定点数,表示有p位数(加上一个符号位),d表示精度。例如,numeric(3,1)可以精确存储44.5而不能精确存储444.5
real,double precision  浮点数与双精度数,精度与机器有关。
float(n)  精度至少为n位的浮点数。
2.2 基本模式定义
  • 建表:

    create table instructor
      (id varchar(7),
      name  varchar(20) not null,  /*不允许空值*/
      dept_name  varchar(20),
      salary  numeric(8,2),
      primary key(id),    /*主码(或称主键),其属性必须非空且唯一,即实体完整性*/
      foreign key(dept_name) references department);  /*外码,取值必须对应于外关系department中在主码属性上的取值,即参照完整性)*/
  • 插入数据:

  insert into instructor

    values(10211,‘Mike’,‘biology’,66000);  

  • 增加属性:alter table r add ad;    
  • 删除属性: alter table r drop ad;
  • 删除元组:delete from instructor;   /*删除instructor关系中的所有元组*/
  • 删除关系:drop table instructor;

两个删除操作的区别:对以上删除操作,drop比delete更强,前者保留关系instructor,但是删除所有元组。后者不仅删除元组,还删除关系instructor的模式。

*关于插入与删除操作,还有很多其他特性,后面有更详尽的讲解。

本笔记采用的例子为大学数据库的模式。总共有11个表,包括:classroom,department,course,instructor,section,teaches,student,takes,advisor,time_slot和prereq。

 
 
  
 

Sql学习笔记1

标签:

原文地址:http://www.cnblogs.com/Dezhong-chen/p/4438723.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!