写在前面:
哈喽大家好我是网络豆云计算运维人员,本系列文章主要给大家讲解MySQL数据库的一些操作,从入门到精通,本文讲解的是MySQL数据库的认识。和我一起进入数据库的世界吧!
一.数据库基础知识
Mysql是⼀个开放源代码的数据库管理系统(DBMS) ,它是由 Mysql AB 公司开发、发布并⽀持的。 Mysql 是⼀个跨平台的开源关系数据库管理系统,⼴泛地应⽤ 在 Internet 上的中⼩型⽹站公司开发中。
数据库是由⼀批 数据 构成的 有序 的 集合 。这些数据被存放在结构化的数据表⾥。数据表之间互相关联,反映了客观事物间的本质联系。数据库系统提供对数据的安全 控制和完整性控制。
1.什么是数据库
数据库的概念诞⽣于 60 年前,随着信息技术和市场的快速发展,数据库技术层出不
穷,随着应⽤的扩展和深⼊,数据库的数量和规模越来越⼤,其诞⽣和发展给计算
机信息管理带来了⼀场巨⼤的⾰命。
数据库的发展⼤致划分为以下⼏个阶段:
- ⼈⼯管理阶段
- ⽂件系统阶段
- 数据库系统阶段
- ⾼级数据库阶段
其种类⼤概有3种:
- 层次式数据库
- ⽹络式数据库
- 关系式数据库
不同种类的数据库按不同的数据结构来联系和组织。
对于数据库的概念,没有⼀个完全固定的定义,随着数据库历史的发展,定义的内 容也有很⼤的差异,其中⼀种⽐较普遍的观点认为,数据库( DataBase , DB )是 ⼀个⻓期存储在计算机内的、有组织的、有共享的、统⼀管理的数据集合。
它是⼀ 个按数据结构来存储和管理数据的计算机软件系统。即数据库包含两层含义:保管 数据的“仓库”,以及数据管理的⽅法和技术。
数据库的特点包括:
- 实现数据共享
- 减少数据冗余
- 采⽤特定的数据类型
- 具有较⾼的数据独⽴性
- 具有统⼀的数据控制功能
2.表
在关系数据库中,数据库的表是⼀系列⼆维数组的集合,⽤来存储数据和操作数据的逻辑结构。它是由纵向的列和横向的⾏组成,⾏被称为记录,是组织数据的单位;列被称为字段,每⼀列表示记录的⼀个属性,都有相应的描述信息,如数据类型、数据宽度等。 例如⼀个有关作者信息的名为authors的表中,每个列包含所有作者的某个特定类型的信息,⽐如“姓名”,⽽每⾏则包含了某个特定作者的所有信息:编号、姓名、性别、专业,如图
2.1数据类型
数据类型决定了数据在计算机中的存储格式,代表不同的信息类型。常⽤的数据类型有:整数数据类型、浮点数数据类型、精确⼩数类型、⼆进制数据类型、⽇期 / 时 间数据类型、字符串数据类型。表中的每⼀个字段就是某种指定数据类型,例如图 中“编号”字段为整数数据,“性别”字段为字符型数据。
2.2主键
主键( Primary Key )⽤于唯⼀地标识表中的每⼀条记录。可以定义表中的⼀列或者多列为主键。主键列上不能有两⾏相同的值,也不能为空值。
二.数据库技术构成
数据库系统由硬件部分和软件部分共同构成,硬件主要⽤于存储数据库中的数据, 包括计算机、存储设备等。软件部分则主要包括DBMS、⽀持DBMS运⾏的操作系统,以及⽀持多种语⾔进⾏应⽤开发的访问技术等。
1.数据库系统
数据库系统有3个主要的组成部分:
- 数据库:⽤于存储数据的地⽅。
- 数据库管理系统:⽤于管理数据库的软件。
- 数据库应⽤程序:为了提⾼数据库系统的处理能⼒所使⽤的管理数据库的软件补充。
数据库( Database System )提供了⼀个存储空间以存储各种数据,可以将数据库视为⼀个存储数据的容器。⼀个数据库可能包含许多⽂件,⼀个数据库系统中通常 包含许多数据库。
数据库管理系统( Database Management System , DBMS )是⽤户创建、管理和维护数据库时所使⽤的软件,位于⽤户与操作系统之间,对数据库进⾏统⼀管理。 DBMS 能定义数据存储结构,提供数据的操作机制,维护数据库的安全性、完整性 和可靠性。
数据库应⽤程序( Database Application )虽然已经有了 DBMS ,但是在很多情况下, DBMS ⽆法满⾜对数据管理的要求。数据库应⽤程序的使⽤可以满⾜对数据管 理的更⾼要,还可以使数据管理过程更加直观。数据库应⽤程序负责与 DBMS 进⾏ 通信,访问和管理 DBMS 中存储的数据,允许⽤户插⼊、修改、删除 DB 中的数据。
1.2SQL语言
对数据库进⾏查询和修改操作的语⾔叫 SQL 。 SQL 的含义是结构化查询语句( Structured Query Languate )
SQL 有许多不同的类型,有 3 个主要的标准:
- ANSI(美国国家标准机构)SQL,对ANSI SQL修改后在1992年采纳的标准,称为 SQL-92或SQL2。
- 最近的SQL-99标准,SQL-99标准从SQL2扩充⽽来并添加了对象关系特征和许多其他新的功能。
- 其次,各⼤数据库⼚商提供不同版本的SQL,这些 版本的SQL不但能包括原始的ANSI标准,⽽且在很⼤程度上⽀持新退出的SQL-92标准。
SQL 语⾔包含以下 4 个部分:
- 数据定义语⾔(DDL):DROP、CREATE、ALTER等语句。
- 数据操作语⾔(DML):INSERT、UPDATE、DELETE语句。
- 数据查询语⾔(DQL):SELECT语句。
- 数据控制语⾔(DCL):GRANT、REVOKE、COMMIT、ROLLBACK等语句。
mysql> CREATE TABLE student
-> (
-> student_id INT UNSIGNED,
-> name VARCHAR(30),
-> sex CHAR(1),
-> birth DATE,
-> PRIMARY KEY(student_id)
-> );
Query OK, 0 rows affected (0.10 sec)
上表包含 4 个字段,分别为 student_id 、 name 、 sex 、 birth ,其中 student_id 定义为表的主键。现在只是定义了⼀张表格,但并没有任何数据,接下来这条 SQL 声明语 句,将在 student 表中插⼊⼀条记录:
代码语言:javascript复制mysql> INSERT INTO student(student_id,name,sex,birth)
VALUES(1,'JACK','m','1999-09-19');
Query OK, 1 row affected (0.01 sec)
执⾏完上⾯的 SQL 语句之后, student 表中就会增加⼀⾏新记录,该记录中student_id 为 1 ,姓名为 JACK ,性别为男,⽣⽇为 1999.9 , 19. 那么我们在使⽤ SELECT 查询语句获取刚才插⼊的数据。
代码语言:javascript复制mysql> SELECT name FROM student WHERE student_id=1;
------
| name |
------
| JACK |
------
1 row in set (0.06 sec)
1.3数据库访问技术
不同的程度设计语⾔会有各⾃不同的数据库访问技术,程序语⾔通过这些技术,执 ⾏ SQL 语句,进⾏数据库管理。主要的数据库访问技术有:
1 、 ODBC Open Database Connectivity (开放数据库互联)技术为访问不同的 SQL 数据库提供了⼀个共同的接⼝。 ODBC 使⽤ SQL 作为访问数据的标准。这⼀接⼝提供了最⼤限度的 互操作性;⼀个应⽤程序可以通过共同的⼀组代码访问不同的 SQL 数据库管理系统 DBMS 。
2 、 JDBC Java Data Base Connectivity ( java 数据库连接) ⽤于 java 应⽤ 程序连接数据库的标准⽅法,是⼀种⽤于执⾏ SQL 语句的 Java API ,可以为多种关系 数据库提供统⼀访问,它由⼀组⽤ java 语⾔编写的类和接⼝组成。
3 、 ADO.NET ADO.NET 是微软在 .NET 框架下开发设计的⼀组⽤于和数据源进⾏交互的⾯向对象类库。 ADO.NET 提供了对关系数据、 XML 和应⽤程序的访问,允许和不 同类型的数据源以及数据库进⾏交互。
4 、 PDO PDO ( PHP Data Object )为 PHP 访问数据定义了⼀个轻量级的、⼀致性的接⼝,它提供了⼀个数据访问抽象层,这样,⽆论使⽤什么数据库,都可以通过⼀ 致的函数执⾏查询和获取数据。 PDO 是 PHP 5 新加⼊的⼀个重⼤功能。