又继续写的博客,希望自己能坚持每天写博客。分享自己的点滴,对自己成长有帮助。今天下午高强度打了三个小时篮球,小腿都抽筋了。很爽,失落的心情似乎变得开明了一些。想到了一句话:“像SB式的坚持总会有好的收获”,因为坚定了目标,不达目标不罢休。其他的就没什么了。好吧,不多说这些了。继续数据库知识总结吧。

二,管理数据库和表:

2.1管理数据库:

  • 创建和使用数据库:
  1. 创建数据库的SQL语句:create database 数据库名;
  2. 需要注意的是:数据库名在服务器中必须是唯一的并且遵循合法的标识符规则:
  3. 第一个字符必须是:a-z和A-Z;下划线(_)、at符号(@)、数字符号(#)。
  4. 后面的字符可以是:字母、十进制数字、@、$、#、_。不能是RDBMS的保留字、不允许空格或其他特殊字符。
  • 链接到数据库:
  1. 使用那个数据库即用SQL语句:use 数据库名;
  • 删除数据库:
  1. 删除数据库的SQL语句:drop database 数据库名;

2.2数据类型:

  • 整数数据类型:
  1. TINYINT:存储范围0-255,此类型数据占用1个字节的存储空间。
  2. SMALLINT:2个字节。
  3. INT:4个字节。
  4. BIGINT:8个字节。
  • 浮点型数据类型:
  1. REAL型
  2. FLOAT型
  3. DECIMAL型
  4. NUMERIC型:与上者完全相同。
  • 字符串类型:char、vchar、text
  • 二进制数据类型:BINARY、VARBINARY。(使用时必须在前面加上OX标识才能是二进制数据类型)
  • 逻辑数据类型:BIT-0或1。如果输入0或1以外的值,统一将被视为1。且不能为空为空毫无意义。
  • 图形数据类型:IMAGE
  • 日期时间数据类型:DATETIME、SMALLDATETIME。
  • 货币数据类型:MONEY、SMALLMONEY。使用货币数据类型必须在数据前面加上货币符号,系统才能辨识是哪国的货币。如果不加没认为¥。
  • 特殊数据类型:TIMESTAMP、UNIQUEIDENTIFIER。

2.3管理表:

  • 创建表的SQL语句:create table<表名>(<列名><列的数据类型>[<列的约束>]);
  • 删除表的SQL语句:drop table<表名>;(注意:在删除表时要注意是否有外键关联,如果有外键关联的就先删除外键关联表在删除本表,还要看是否有权限删除此表)
  • 创建临时表:所谓临时表是指在有限的时间内存在的表,创建临时表的方法与普通表一样只是需要在表名前面加上#和##。本地表加#,全局的表加##。
  • 复制表:在数据库中创建一个新的表的方法仅是复制一个已经存在的表。SQL语句如:select * into My_Friends from Friends;复制表的同时表的约定并不能复制过来,所以还是推荐使用creat的方式创建表和数据。复制表过来的时候可以通过alter的方式手动改变表的约束。如果我们只是想复制表的结构而不是数据的话我们可以这样使用SQL语句:select * into My_Friends from Friends where 1=0;让后面的条件永远为false。
  • 修改表,alter table语句同其他选项一起可以更改表的数据结构:
  1. 添加一个表中没有的字段Address:alter table Friend add Address varchar(50);
  2. 如果要添加多个列的话:alter table Friend add Address varchar(50),Email varchar(30);
  3. 如果要更改列定义,可以使用SQL语句,比如给Phone列添加一个默认值约束,默认为‘不知道电话号码’:alter table Friend modify Phone default('不知道电话号码');
  4. 要删除表中的PhoneNo列:alter table Friend drop column PhoneNo;

2.4管理索引(非常重要,经常会被面试官问到):

  索引的意义:索引是一个设计用来提供整个数据库操作速度的数据库对象,它通过创建一个内部的索引表来达到快速搜索的目的。索引是依赖于表建立的,在一个表上创建索引可以提高在该表上执行select语句的速度,因为索引被用于快速找到想要的记录而不是执行一个全表扫描,但是会降低delete、update、insert语句的执行速度,因为每次执行这些操作时内部索引结构需要被更新,大多数情况下带来的好处远大于坏处。

  注意的是:索引可以是唯一的和非唯一的。唯一索引不允许在索引列上出现重复值。唯一索引通常创建在有主键或唯一约束的列上。由设置主键或唯一约束而自动创建的索引在约束被删除后,会自动删除,并且不能单独被删除。

  1. 创建索引:SQL语句—create index <索引名> on <表名>(<列名一>,[<列名二>],...);  
  2. 删除索引:SQL语句—drop index。例如:drop index Friend.PhoneIndexNo;

  

总结:

  1. 数据库表的建立索引是非常重要的,会被大多面试官青睐。
  2. 记得上次面试时,面试官就问了我一个关于查询的知识,他说:我们查询10条数据很快加入只需要0.03秒,照此速度成上千万的数据我们那不得查到猴年马月了,问我怎样提高查询速度??其实这个问题真TM问的直白了,就别怪面试官故意刁难我了。这不就是把索引的功能赤裸裸的告诉我了,就差没给我明说了。所以我活该被刷下来啊。打死我我也不会忘了它—索引。有了它妈妈再也不担心我查大量数据了。接下来我就得再去感受感受它的魅力了。

数据库知识整理<二>的更多相关文章

  1. 数据库知识整理<六>

    聚合函数与分组 6.1使用聚合函数进行数据统计: 聚合函数常见的有以下几种: count:返回该结果集中行的数目. sum:返回结果集中所有值的总和. avg:返回结果集中所有值的平均值. max:返 ...

  2. 数据库知识整理<一>

    关系型数据库知识整理: 一,关系型数据库管理系统简介: 1.1使用数据库的原因: 降低存储数据的冗余度 提高数据的一致性 可以建立数据库所遵循的标准 储存数据可以共享 便于维护数据的完整性 能够实现数 ...

  3. 数据库知识整理<八>

    联接: 8.1理解简单的单联接: 基本上联接的结果是每个集合的笛卡尔积.例如:两个集合{a,b,c}和{a,b}的笛卡尔积是如下的成对集合:{(a,a),(a,b),(b,a),(b,b),(c,a) ...

  4. 数据库知识整理<五>

    简单的数据查询: 5.1查询的基本结构: Sql语句:select [distinct] (* | column [alias],...) from table [where condition] [ ...

  5. 数据库知识整理<三>

    保证数据的完整性: 3.1数据完整性概述: 数据完整性的意义:我们知道数据库能防止储存垃圾数据,RDBMS实现该功能主要是通过维护数据完整性来实现的.根据数据完整性实施方法我们将其分为四类:实体完整性 ...

  6. 数据库知识整理<四>

    使用DML语句更改数据: 所谓DML语句是指数据库操作语句,其中包括的是对数据库数据的修改.删除.插入. 4.1添加新数据: 插入单行的记录:基本的SQL语句为-insert into <表明& ...

  7. 数据库知识整理<七>

    组合查询: 7.1使用子查询: 嵌套在其他查询中的查询,我们称之为子查询.子查询本身也可能包含一个子查询.子查询也称为内部查询,而包含子查询的语句也称为外部查询. 所有的子查询可以被分为两个类别:子查 ...

  8. 【OGG】OGG基础知识整理

    [OGG]OGG基础知识整理 一.GoldenGate介绍 GoldenGate软件是一种基于日志的结构化数据复制软件.GoldenGate 能够实现大量交易数据的实时捕捉.变换和投递,实现源数据库与 ...

  9. MySQL 索引知识整理(创建高性能的索引)

    前言: 索引优化应该是对查询性能优化的最有效的手段了.索引能够轻易将查询性能提高几个数量级. // 固态硬盘驱动器有和机械硬盘启动器,有着完全不同的性能特性: 然而即使是固态硬盘,索引的原则依然成立, ...

随机推荐

  1. 深入理解JS异步编程(一)

    js事件概念 异步回调 首先了讲讲js中 两个方法 setTimeout()和 setInterval() 定义和用法: setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式. 语法 ...

  2. python学习笔记:文件操作和集合(转)

    转自:http://www.nnzhp.cn/article/16/ 这篇博客来说一下python对文件的操作. 对文件的操作分三步: 1.打开文件获取文件的句柄,句柄就理解为这个文件 2.通过文件句 ...

  3. Python2和Python3在windows下共存

    Python2.7 和 Python3不兼容,两种环境可能都会用到.ubuntu14.04中已经默认安装了这两个版本,在shell中输入python会自动进入Python2.7的交互环境,输入Pyth ...

  4. 第23章 排序算法(包括merge等)

      第23章 排序算法  Sorting:1 sort Sort elements in range (function template)2 stable_sort Sort elements pr ...

  5. 7.29 H5学习笔记

    常用实体字符小于号  < 大于号  > 和号  & 引号  " 撇号  &apos; 分  ¢ 镑  £ 日元  ¥ 欧元  € 小节  § 版权  © 注册  ...

  6. css 透明(transparent)

    opacity :  .75;     //standard css3 style for transparency -moz-opacity : .75;        // transparenc ...

  7. jqGrid学习笔记(一)

    3.2.body中的代码 <!-- jqGrid table list4 --> <table id="list4"></table> < ...

  8. js 获取 通过 ”?“ 或者 ”&“ url 传过来参数值

    请先 引用 jQuery的js <script> String.prototype.GetValue=function(para) { var reg = new RegExp(" ...

  9. JSF2 下 taglib 的问题

    在jsf1使用 taglib 定义 标签出现 The absolute uri: http://java.sun.com/jsf/core cannot be resolved in either w ...

  10. jQuery设置和获取以及修改class name值操作

    在Web程序开发中.很多时候会用需要修改Html标签的class名称.来达到修改标签样式的效果.那么在代码中一般是怎么操作的呢.本文将为你详细讲解一下class的使用.在jQuery中可以使用attr ...