关系型 数据库

来源:互联网 发布:date转string java 编辑:程序博客网 时间:2024/06/06 04:02

关系型数据库

1、使用数据库的优点

1、降低存储数据的冗余度

2、更高的数据一致性

3、存储的书库可以共享

4、可以建立数据库所遵循的标准

5、便于维护数据完整性

6、能够实现数据的安全性

2、在数据库中建立表格

1、建立一个表格

 create table+表名(   ...//建立每一列   注意数据类型 )

2、在表格中增加一列

 alter table +表名+add+需要增加的列+数据类型

3、修改表格中的一项

 alter table +表名+ change +原有数据+修改完之后数据

4、表格增加索引

 crreat index +索引名+on+表名(索引名)

5、删除索引

 alter table +表名+drop+index+索引名

6、删除列

 alter table drop column+列名  

3、保证数据的完整性

1、数据完整概述

1、实体完整性

实体完整性强制表的标识列或主键的完整性,它可以通过在表中设置主键约束,唯一约束或标识列属性来实现。

创建非空约束

create table +表名+(   id int primary key ,             //设置主键约束   name varchar not null ,          //设置非空约束   age int default '18'             //设置默认是   gender varchar unique            //设置唯一约束)

2、域完整性

域完整性是指定列的输入有效性,强制域有效性的方法有:限制类型格式或可能值得范围。

3、引用完整性

4、用户自定义完整性

5、引用完整性和外键约束

CONSTRAINT FK_class_cID FOREIGN KEY cla_id REFERENCES class (cla_id)

4、使用DML语句更改数据

1、添加新数据

1、插入单行记录

INSERT INTO +表名+(列表列明)+VALUES+(值列表)

2、复制多行记录

insert into Students(StudentID,StudentName)SELECRT StudentID+2,StudentName from Student1//在Student1中复制两行记录到Student中

3、表数据的复制

SELECT +列名+ INTO+FROM+ 表名

4、更改已有数据

UPDATE +表名+ SET+<列1=新值1,列2=新值2> +WHERE+过滤条件

5、更改单列/多列数据

UPDATE +表名+SET +列名+ WHERE+过滤条件

6、删除数据

DELETE FROM +表名+WHERE+过滤条件

5、查询的基本结构

投影操作

投影操作是指在SQL查询中,使用SELECT子句,选择将对表中的那些列进行操作,这些列将出现在结果中。

1、查询数据,其语法形式为:

SELECT +列表列名+FROM +表名

例:

SELECT StudentID,ExamID ,Comment FROM StudentExam//在StudentExam中查询StudentID, ExamID,Comment 三列
知识扩充

列别名:

SELECT i.列表列名 from+表名+as i

2、排除重复数据

SELECT DISTINCT +列A FROM 表  //排除表中中列A中的重复数据

3、返回限定行数的查询

SELECT TOP +count+columnA,columnB from Table//返回Table中 columnA,columnB的前count行Select +列表列名+From table  limit 0,5  //查询表中的一列数据并且每每页显示5行
选择操作

语法:

SELECT +列表列名+FROM table WHERE+条件
多条件选择

关键字:

between  and   or  

运算符:

= 等于  != 不等于   <> 不等于

例:

 SELECT StudentID ,Mark,Comments FROM StudentExam WHERE ifPassed=1 and ExamID=1    //使用and SELECT StudentID ,Mark,Comments FROM StudentExam WHERE ifPassed=1 or Mark>80     //使用or SELECT StudentID ,Mark,Comments FROM StudentExam WHERE ifPassed between 1 and 5    //使用between

4、模糊查询

语法:

 SELECT 列A,列B FROM 表 WHERE 列C LIKE 模式;

例:

SELECT ExamID , Comment,FROM  Exam WHERE Comments LIKE '%%'

5、排序操作

SELECT 列A ,列B,列C FROM 表 ORDER BY 列A,列B,列C...//默认升序SELECT 列A ,列B,列C FROM 表 ORDER BY 列A desc   //降序
1 0