数据库

一 数据库介绍:

1 Database时按照数据结构来组织、存储和管理数据的仓库

每个数据库都有一个或多个不同的API用于创建,访问,管理,搜索和复制锁保存的数据

也可将数据存储在文件中,不过文件的读写速度会相对较慢。

 

我们使用关系型数据库管理系统(RDBMS:Relationship DB Management System)来储存和管理大数据量。Radis便是非关系型,两个字典之间没有关系,想怎么存就怎么存。这个类似于EXCEL表格,具有如下特点

1数据以表格的形式出现

2每行为各种记录名称

3每列为记录名称所对应的数据域

4许多行和列构成一张表单

5若干的表单组成DB

种类有:

Oracle(收费)、Mysql、SqlServer、DB2、Postgresql、Sqlite、Access

 

术语:

数据库:一些关系表的集合

数据表:表时数据的矩阵,在一个数据库中的表看起来像一个简单的电子表格

列:一列(数据元素)是一组相同类型的数据,例如邮政编码的数据

行:一行(=元组,或记录)是一组相关的数据,例如一条用户订阅的表格

冗余:存储两倍数据,冗余可以使系统更快(表的规范化程度越高,表与表之间的关系就越多;查询时可能经常需要在多个表之间进行连接查询,而进行连接操作会降低查询速度。如果添加一个冗余字段(针对查询特别频繁的字段,会增加数据量)就可以避免多次进行连接操作了。

主键:主键使唯一的标识某一行,一个数据表中只能包含一个主键。可以使用主键来查询数据。(不能重复,确定某行使唯一的,类似身份证号不能重复)

外键:外键用来关联两个表。

复合键:将多个列作为一个索引键,一般用于符合索引

索引:顾名思义,使用索引可以快速的访问数据库的特定信息,索引是对数据库表中一列或多列的值进行排序的一种结构,类似于书籍的目录。(二分法查询42亿查32次,数据库不是用的这个)

参照完整性:参照的完整性要求关系中不允许引用不存在的实体,与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。

 

Mysql数据库

Mysql是最受欢迎的数据库,在web应用方面是最好的RDBMS应用软件之一。由瑞典Mysql AB公司开发,目前属于Oracle公司。MySQL是一种关联数据库管理系统,数据保存在不同的表中,而不是将所有的数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

  • 开源,免费
  • 支持大型数据库,处理上千万条数据32位为4GB,64位为8TB
  • 使用标准的SQL语言形式
  • 允许在多个系统上,并且支持多语言,包括C、C++、python、java,Perl,PHP、Eiffel、Ruby和Tcl等,PHP是目前最流行的Web开发语言
  • 可定制,采用GPL协议,可以修改源码开发自己的Mysql系统

2Mysql安装

  Linux:[root@host]# rpm -i MySQL -5.0.9-0.1386.rpm

  Windows:下载地址

 

常用命令:

mysql -uroot -p:输入密码进入数据库

USE 数据库名:选择要操作的数据库

SHOW DATABASE:列出MySQL数据库管理系统的数据库列表

SHOW TABLES:显示指定数据库的所有表,使用该命令前需要使用use命令来选择要操作的数据库

SHOW COLLUMNS FROM 数据表:显示数据库的属性,属性类型,主键信息,是否为null,默认值等其他信息。

CREATE DATABASE TESTDB CHARSET "UTF-8";创建一个testdb的数据库,并且让其支持中文。

DROP DATABASE TESTDB:删除数据库

SHOW INDEX FROM 数据库:显示数据表的详细索引信息,包括PRIMARY KEY(主键)

表操作

  • 创建新表:CREATETABLEtable_name (column_name column_type);共有以下几种column

 

  • 插入数据:
INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );
  • 查询数据:
    SELECT column_name,column_name#可用*号代替其他字段
    FROM table_name
    [WHERE Clause]#包含任何条件
    [OFFSET M ][LIMIT N]#偏移量和起始量
    • where子句:
      SELECT field1, field2,...fieldN FROM table_name1, table_name2...
      [WHERE condition1 [AND [OR]] condition2.....
      

        

 

 

4MySQL数据类型

MySQL中定义数据字段的类型对数据库的优化非常重要,大致可分为3类

1数值

 

2日期和时间

 

3字符串

 

 

posted @ 2017-09-03 18:52  KeepLearning_!  阅读(238)  评论(0编辑  收藏  举报