数据库由一批数据构成有序集合,这些数据被存在结构化的数据表中。数据表之间互相关联,反应客观事物间的本质联系。数据库系统提供对数据的安全控制和完整性控制。数据库的发展大致划分为几个阶段:人工管理阶段、文件系统阶段、数据库系统阶段、高级数据库阶段。其种类大概有3种:层次式数据库、网络式数据库和关系式数据库。

    文本数据库缺陷:数据冗余和不一致,数据访问困难,数据孤立,完整性问题,原子性问题并发访问问题,安全性问题。

    数据库系统的特性:数据管理独立性;有效地完成数据存取;数据完整性和安全性;数据集中管理;并发存储与故障恢复;减少应用程序开发时间。

    数据库系统由硬件部分和软件部分共同构成,硬件主要用于存储数据库中的数据,包括计算机、存储设备等。软件部分则主要包括DBMS、支持DBMS运行的操作系统,以及支持多种语言进行应用开发的访问技术等。

    MySQL是一个小型关系数据库管理系统,与其他大型数据库管理系统(Oracle、DB2)相比,MySQL规模小、功能有限,但是它体积小、速度快、成本低,且它提供的功能对稍微复杂的应用来说已经够用。

  数据类型 

       字符:CHAR(n)  VARCHAR(n)  BINARY(n)  VARBINARY(n)  TEXT(n)  BLOB(n)

       数值:

          整型:TINYINT  SMALLINT  MEDIUMINT  INT  BIGINT

          修饰符:UNSIGNED  NOT NULL

          浮点型:FLOAT  DOUBLE

        日期时间:DATE  TIME  DATETIME STAMP

        布尔

        NULL

        内置:ENUM, SET

    

        字段修饰符:

        NOT NULL    非空

        NULL        空

        UNSIGNED    无符号

        DEFAULT     不适用于TEXT类型

        PRIMARY KEY 主键

        UNIQUE KEY  唯一键

        AUTO_INCREMENT:自动增长类型的字段必须为主键或惟一键

  数据约束:

    

    域约束:数据类型约束

    外键约束:引用完整性约束

    主键约束:某字段能惟一标识此字段所属的实体,并且不允许为空,一张表中只能有一个主键。

    惟一性约束:每一行的某字段都不允许出现相同值,可以为空一张表中可以有多个

    检查性约束:用户自定义有效取值范围。


 MySQL安装

  centos6: yum -y install mysql-server

            yum -y install mysql

            service mysqld start

 

  centos7:  yum -y install mariadb -server

            yum -y install mariadb

            service  mariadb start



   MySQL安装完成后,将在其data目录下自动创建几个必须的数据库,可以使用SHOW DATABASES语句来查看当前所有存在 的数据库。

    

1
2
3
4
5
6
7
8
9
10
mysql> SHOW DATABASES;
+--------------------+
Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| test               |
+--------------------+
rows in set (0.00 sec)


MySQL命令主要分为以下几类:

  DML:Data Manapulate Language: 数据操作语言(操作表中数据)

    INSERT, REPLACE, UPDATE, DELETE

  DDL:Data Defination Lanuage: 数据定义语言(操作表)

    CREATE, ALTER, DROP

  DCL:Data Control Language: 数据控制语言

    GRANT, REVOKE

  DQL:Data Query Language:数据查询语言

    SELECT,WHERE,ORDER BY,GROUPBY,HAVING

  TPL:事物处理语言

    BEGIN,TRANSACTION,COMMIT


创建数据库是在系统磁盘上划分一块用于数据的存储和管理,如果管理员在设置权限的时候为用户创建了数据库,则可以直接使用,否则,需要自己创建数据库。MySQL创建数据库的基本SQL语法格式为:

1
2
CREATE DATABASE db_name;                 #直接创建数据库
CREATE DATABASE [IF NOT EXISTS] db_name; #当数据库不存在时创建

  数据库创建好后可以使用SHOW CREATE DATABASES声明查看数据库的定义。

1
2
3
4
5
mysql> SHOW CREATE DATABASE test\G
*************************** 1. row ***************************
       Database: test
Create DatabaseCREATE DATABASE `test` /*!40100 DEFAULT CHARACTER SET utf8 */
1 row in set (0.00 sec)

 

删除数据库是将已经存在的数据库从磁盘空间上清除,清除后,数据库中的所有数据也将一同被删除。MySQL中删除数据库的基本语法格式为:

1
DROP DATABASE [IF EXISTS] db_name;
1
2
3
4
5
6
mysql> CREATE DATABASE test_tb; 
Query OK, 1 row affected (0.00 sec)
mysql> DROP DATABASE test_tb;
Query OK, 0 rows affected (0.02 sec)
mysql> SHOW CREATE DATABASE test_tb\G
ERROR 1049 (42000): Unknown database 'test_tb'