数据库基础知识

  1. 创建表(增删查改),视图。

(1)下面我为大家创建了三个表:Student , Course, SC表。代码如下:

create table Student

(

Sno char(9) primary key,// primary key代表主键

Sname char(20) unique,//unique代表唯一性

Ssex char(2),

Sage Smallint,

Sdept char(20)

);

create table Course

(Cno char(4) primary key,

Cname char(40),

Ccredit smallint,

);

create table SC

(Sno char(9),

Cno char(4),

Grade smallint,

primary key(Sno,Cno),

foreign key (Sno) references Student(Sno),//意思是将Student表的Sno作为SC的外键。

foreign key (Cno) references Course(Cno)

);

(2)修改表结构:

Alter table Student ADD Sadress char(40);/*给Student表添加学生地址属性*/

Alter table Student Alter Column Sage int;/*将Sage字段smallint类型改为int*/

(3)现在我们往表Student插入数据:

Insert into Student(Sno,Sname,Ssex,Sdept,Sage)

Values('2012440000','陈东','男','计算机',18);

insert into Student(Sno,Sname,Ssex,Sdept,Sage)

values('2012440001','张力','男','石油',19);

(4)数据更新:

Update Student

Set Sage = 40

Where Sno = '2012440000';

(5)删除表结构:

Drop table Student(cascade/restrict)

(6)数据查询:

查询所有数据:以查询Student表为例

select *from Student;

选择出专业是计算机和石油的同学的姓名和性别:

select Sname,Ssex

from Student

where Sdept in('计算机','石油');/*类似有between..and..,like,%,_,*/

order by 子句:

(7)对查询结果按照一个或多个属性列升序(ASC)或降序(DESC)排列。

例如:查询所有学生信息并按年龄排序。

select *from Student

order by Sage ASC/*默认为升序*/

(8)聚集函数:

COUNT(*)/*统计元组个数*/;

COUNT(<列名>);/*统计一列中值的个数*/

SUM(<列名>);/*计算一列值的总和*/

AVG(<列名>);/*计算一列值的平均值*/

MAX(<列名>);/*求一列中的最大值*/

MIN(<列名>);/*求一列中的最小值*/

(9)Group by 子句

将查询结果按某一列或多列的值分组,值相等的为一组。

例如:

Select Cno,count(Sno)

From SC

Group by Cno;

该语句按Cno的值分组,再以count计算该组的人数。

总结:

SQL 中最重要的 DDL 语句:

  • CREATE DATABASE - 创建新数据库
  • ALTER DATABASE - 修改数据库
  • CREATE TABLE - 创建新表
  • ALTER TABLE - 变更(改变)数据库表
  • DROP TABLE - 删除表
  • CREATE INDEX - 创建索引(搜索键)
  • DROP INDEX - 删除索引

查询和更新指令构成了 SQL 的 DML 部分:

SELECT - 从数据库表中获取数据

UPDATE - 更新数据库表中的数据

DELETE - 从数据库表中删除数据

INSERT INTO - 向数据库表中插入数据

 

2  视图

对其中所引用的基础表来说,视图的作用类似于筛选。定义视图的筛选可以来自当前或其它数据库的一个或多个表,或者其它视图。通过视图进行查询没有任何限制,通过它们进行数据修改时的限制也很少。

区别:1、视图是已经编译好的sql语句。而表不是 
      2、视图没有实际的物理记录。而表有。
      3、表是内容,视图是窗口
      4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时对它进行修改,但视图只能有创建的语句来修改
      5、表是内模式,视图是外模式
      6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
      7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。
      8、视图的建立和删除只影响视图本身,不影响对应的基本表。

创建视图:

create view F_Student(F_sno,F_name,F_SCGrade)

as

select Student.Sno,Student.Sname,Grade

from Student,SC

where Student.Sno='201244000'and Cno=2;

执行视图:

select *from dbo.F_Student

运行结果:

posted @ 2014-09-15 22:43  .来自北方的狼  阅读(170)  评论(0编辑  收藏  举报