第二部分数据库
数据库基础
数据库优点
降低数据的沉余度;
更高的数据一致性;
存储的数据可以共享;
可以建立数据库所遵循的标准;
便于维护数据完整性;
关系模型
关系模型把世界看作是有实体(Entity)和联系(Relationshap)组成的,所谓实体就是指在现实世界中客观存在并可相互区别的事物。
实体所具有的某一特性称为属性。表是关系型数据库的核心单元,是数据存储的地方。
主键(primary key):在关系型数据表中,用一个唯一的标识符来标识每一行,,只要能区分,多个也可以。
外键(forergn key):是用来表达表和表之间的关联关系。外键允许多个,不需要标识每一行。
关系数据库的三种关系:
一对一关系
一对多关系
多对多关系:转成两个一对多关系,通过中间表或过度表转换。
数据库管理系统(Database Manegement System 简称DBMS)
(SQL)
SQL(Structured Query Language):是一种用于管理关系数据库,并与数据库中的数据进行通讯的计算机语言。最新版本的SQL为SQL-2003.
SQL语句作用:
(1)数据定义语言(DDL)创建、修改、删除数据库的内部数据结构
(2)数据查询语言(DQL)用于数据库中数据查询
(3)数据操作语言(DML)修改数据(添加、删除、修改)
(4)数据控制语言(DCL)控制数据库访问权限
管理数据库和表
管理数据库
数据库的穿件和使用
数据库名规则:建议使用英文和下划线组成.
标识符不能使多用RDBNS的保留字。
不允许嵌入空格或其他特殊字符。
数据库的创建:CREATE DATABASE 数据库名;
激活数据库:USE 数据库名;
删除数据库: DROP DATABASE 数据库命;
字符串数据类型:
类型
类型
大小
范围
用途
CHAR(N)
N
0-255
字符型
VARCHAR(N)
N
0-65535
字符型
管理表
创建表的基础SQ语法: CREATE TABLE<表名>
(<列名><列的数据类型>{<列的约束>});
show DATABASES; -- 显示所有数据库
删除表: DROP TABLE 表名;
复制表:CREATE TABLE新表名 SELECT*FROM 原表名;复制表的同时表的约束不能复制
查询表的结构:DESC 表名;
查看表详细结构语句:SHOW CREATE TABLE 表名;
修改表语句:
添加新列: ALTER TABLE 表名 ADD 属性名类型;
替换属性:ALTER TABLE 表名 CHANGE 需要改变的属性名该变后的属性名类型;
删除属性(列): ALTER TABLE 表名 DROP COLUMN 列名;
修改表名:ALTER TABLE 旧表名 RENAME 新表名;
修改属性的数据类型:ALTER TABLE 表名 MODIFY 属性名属性数据类型;
索引是对数据库表中一列或多列的值进行排序的一种结果,使用索引可快速访问数据库表中的特定信息。
创建索引:CREATE INDEX 索引名 ON 表名(列名一,[列名二],。。。);
删除索引:ALTER TABLE 表名 DROP INDEX 索引名;
索引的优点:
通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。
可以加快数据的检索速度,这也是创建索引的最主要原因
可以加速度表与表之间的连接,特别在数显数据的参考完整性方面有特别意义。
在使用分组和排序字句进行数据检索时,同样可以减少查询中分组和排序时间。
通过使用索引,可以再查询的过程中,使用优化掩藏器,提高系统性能。
索引的缺点:
创建索引和维护索引要消耗时间,这种时间随着数据量的增加而增加。
索引需要占用物理空间,除了数据表占用数据空间之外,每个索引还需要占用一定的物理空间,如果建立聚簇索引,那么需要的空间就很大。
当对表中的数据进行增加,删除和修改时,索引页要动态维护,这样降低了数据的维护速度。
索引的使用原则:
不要索引数据量不大的表,对于小表来讲,来遍历的成本并不好。
不要创建过多的索引,在没有聚集索引的表中,最大可以创建249个非聚集索引,过多索引会占用更大的磁盘空间,而且在数据发生修改时,对索引的维护时特别消耗性能的。
合理应用复合索引,有某些情况下可以考虑创建含所有属性的覆盖索引。
对经常使用范围查询的属性,可以考虑聚集索引。
避免对不经常
数据库sql学习 来自淘豆网m.daumloan.com转载请标明出处.