数据库基础知识

什么是数据库?

  1. 数据库(Database, DB)是将大量数据保存起来,通过计算机加工而成的可以进行高效访问的数据集合。
  2. 用来管理数据库的计算机系统称为数据库管理系统(Database Management System,DBMS)
  3. 为什么DBMS那么重要?

因为文本文件或Excel的局限性:

    1. 无法多人共享数据
    2. 无法提供操作大量数据所需的格式
    3. 实现读写自动化需要编程能力
    4. 无法应对突发事故

4.DBMS的种类

    1. 层次数据库(Hierarchical Database, HDB):最古老的数据库之一,它把数据通过层次结构(树形结构)的方式表现出来。
    2. 关系数据库(Relational Database, RDB):关系数据库是现在应用最广泛的数据库。
    3. 面向对象数据库(Object Oriented Database, OODB):把数据以及对数据的操作集合起来以对象为单位进行管理。
    4. XML数据库(XML Database, XMLDB):XML 数据库可以对 XML 形式的大量数据进行高速处理。
    5. 键值存储系统(Key-Value Store, KVS):这是一种单纯用来保存查询所使用的主键(Key)和值(Value)的组合的数据库。

5.解决的问题是什么?

持久化存储、优化读写、保证数据的有效性

什么是SQL?

SQL(Structured Query Language,结构化查询语言)是用来操作关系数据库的语言。

  1. SQL语句及其种类:SQL 用关键字、表名、列名等组合而成的一条语句(SQL 语句)来描述操作的内容。关键字是指那些含义或使用方法已事先定义好的英语单词,存在包含“对表进行查询”或者“参考这个表”等各种意义的关键字。根据对 RDBMS 赋予的指令种类的不同, SQL 语句可以分为以下三类。PS:实际使用的 SQL 语句当中有 90% 属于 DML。
    1. DDL(Data Definition Language,数据定义语言)用来创建或者删除存储数据用的数据库以及数据库中的表等对象。 DDL 包含以下几种指令。
      1. CREATE: 创建数据库和表等对象
      2. DROP: 删除数据库和表等对象
      3. ALTER: 修改数据库和表等对象的结构
    2. DML(Data Manipulation Language,数据操纵语言)用来查询或者变更表中的记录。 DML 包含以下几种指令。
      1. CREATE: 创建数据库和表等对象
      2. DROP: 删除数据库和表等对象
      3. ALTER: 修改数据库和表等对象的结构
    3. DCL(Data Control Language,数据控制语言)用来确认或者取消对数据库中的数据进行的变更。除此之外,还可以对 RDBMS 的用户是否有权限操作数据库中的对象(数据库表等)进行设定。 DCL 包含以下几种指令。
      1. COMMIT: 确认对数据库中的数据进行的变更
      2. ROLLBACK: 取消对数据库中的数据进行的变更
      3. GRANT: 赋予用户操作权限
      4. REVOKE: 取消用户的操作权限
  2. SQL的基本书写规则:
    1. SQL语句要以分号(;)结尾;
    2. SQL语句不区分关键字大小写,插入表中的数据区分大小写;
    3. 常数的书写方式是固定的,字符串和日期常数需要使用单引号(')括起来,数字常数无需加注单引号(直接书写数字即可);
    4. 单词间需要用半角空格或者换行来分隔,不能使用全角空格作为单词的分隔符;

表的创建

  1. 数据库的创建(CREEATE DATABASE语句):CREATE DATABASE <数据库名称>;
  2. 表的创建(CREATE TABLE语句):

2. 命名规则:只能使用半角英文字母、数字、下划线(_)作为数据库、表和列的名称 ,且名称必须以半角英文字母开头。同一个表中不能创建两个名称相同的列。

  1. 数据类型的指定:所有的列都必须指定数据类型,数据类型表示数据的种类,包括数字型、 字符型和日期型等。每一列都不能存储与该列数据类型不符的数据。下面介绍四种基本的数据类型:
    1. INTEGER型:用来指定存储整数的列的数据类型(数字型),不能存储小数。
    2. CHAR型:CHAR 是 CHARACTER(字符)的缩写,是用来指定存储字符串的列的数据类型(字符型),可在括号中指定字符串的长度,以定长字符串的形式存储,即字符串达不到指定的最大长度时,使用半角空格补充。
    3. VARCHAR型:同CHAR类型一样,但其为可变长字符串,即字符串达不到指定的最大长度,不会以空格补充。
    4. DATE型:用来指定存储日期(年月日)的列的数据类型(日期型)。

3. 约束的设置:约束是除了数据类型之外,对列中存储的数据进行限制或者追加条件的功能,例如:约定单元格输入不能为空NOT NULL,约定主键等。

表的删除和更新

  1. 表的删除(DROP TABLE语句):DROP TABLE <表名>;,需要注意的是,删除的表是无法恢复的。
  2. 表定义的更新(ALTER TABLE 语句):
    1. 增加列使用的语法:ALTER TABLE <表名> ADD COLUMN <列的定义>;
    2. 删除列使用的语法:ALTER TALBE <表名> DROP COLUMN <列名>;,删除的数据无法恢复。
  3. 向表中插入数据:在MySQL中运行时,需要将①中的BEGIN TRANSACTION;改写为START TRANSACTION。

 

 


4. 表名的变更:RENAME TABLE <变更前的名称> to <变更后的名称>

 

 

 

 

posted @ 2019-09-05 17:18  那个谁呢  阅读(269)  评论(0编辑  收藏  举报