数据库知识点小结

来源:互联网 发布:js正则表达式.* 编辑:程序博客网 时间:2024/06/10 01:53
DDL:数据库模式定义语言,关键字:create、drop、alter;
DML:数据库操作语言,关键字:select、insert、delete、update;
DCL:数据库控制语言,关键字:grant、remove;
DQL:数据库查询语言,关键字:select;

多表查询没有指定连接条件,则以笛卡尔积的形式返回结果。

select into from和insert into select都是用来复制表,两者的主要区别为:select into from要求目标表不存在,因为在插入时会自动创建。insert into select要求目标表存在。

JDBC是由一系列连接、SQL语句和结果集构成,其主要作用概括起来有:1.建立与数据库的连接;2.向数据库发起查询请求;3.处理数据库返回结果。

MySQL数据库中,变量分为系统变量(以“@@”开头)和用户自定义变量。系统变量分为全局变量(global)和会话系统变量。

union和 union all的区别是,union会自动压缩多个结果中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。

mySQL导出数据命令具体格式:
mysqldump -u用户名 -p数据库名 >导出的文件名

mysqladmin:一个管理工具,用来查看一些mysql服务器的状态信息、设置管理密码等;
grant on:设置用户权限的命令;

A INNER JOIN B :返回A和B中符合on条件式的记录;A LEFT JOIN B:返回A中所有记录和B中符合on条件式的记录;
A RIGHT JOIN B :返回B中所有记录和A中符合on条件式的记录。

2.约束主要有一下几种:

NOT NULL : 用于控制字段的内容一定不能为空(NULL)。

UNIQUE : 控件字段内容不能重复,一个表允许有多个 Unique 约束。

PRIMARY KEY: 也是用于控件字段内容不能重复,但它在一个表只允许出现一个。

FOREIGN KEY: FOREIGN KEY 约束用于预防破坏表之间连接的动作,FOREIGN KEY 约束也能防止非法数据插入外键列,因为它必须是它指向的那个表中的值之一。

CHECK: 用于控制字段的值范围。

DEFAULT: 用于设置新记录的默认值。

触发器是一种特殊类型的存储过程,触发器组要通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。

触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触 发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server 2005中触发器可以分为两类:DML触发器和DDL触发器,其中DDL触发器它们会影响多种数据定义语言语句而激发,这些语句有create、 alter、drop语句。

3.SQL触发器

    DML触发器分为:

    1、 after触发器(之后触发)

        a、 insert触发器

        b、 update触发器

        c、 delete触发器

   其中after触发器要求只有执行某一操作insert、update、delete之后触发器才被触发,且只能定义在表上。而instead of触发器表示并不执行其定义的操作(insert、update、delete)而仅是执行触发器本身。既可以在表上定义instead of触发器,也可以在视图上定义。

3.索引定义
  数据库索引好比是一本书前面的目录,能加快数据库的查询速度。索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。

2、建立索引的优缺点:
优点:
1.大大加快数据的检索速度;
2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
3.加速表和表之间的连接;
4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。
缺点:

  1.索引需要占用数据表以外的物理存储空间
  2.创建索引和维护索引要花费一定的时间
3.当对表进行更新操作时,索引需要被重建,这样降低了数据的维护速度。
索引类型:在数据库设计器中创建索引:
唯一索引:唯一索引不允许两行具有相同的索引值
主键索引:为表定义一个主键将自动创建主键索引,主键索引是唯一索引的特殊类型。主键索引要求主键中的每个值是唯一的,并且不能为空
聚集索引(Clustered):表中各行的物理顺序与键值的逻辑(索引)顺序相同,每个表只能有一个非聚集索引(Non-clustered):非聚集索引指定表的逻辑顺序。数据存储在一个位置,索引存储在另一个位置,索引中包含指向数据存储位置的指针。可以有多个,小于249个。
索引的实现方式:
1.B+树。2.散列索引。3.位图索引。


0 0
原创粉丝点击