购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第1章
基础概述

本章要点

● 了解数据库的基本知识。

● 了解常见的数据库。

● 了解SQL。

● 了解MySQL。

● 了解MySQL的数据类型。

1.1 数据库

1.什么是数据库

数据库(Database,DB)是指长期存储在计算机内的、有组织的、可共享的大量数据的集合。数据库是互联网技术的重要组成部分之一,有了数据库才能存储大量的数据,才能支撑人工智能、金融、数字货币、电商、数据分析等行业的快速发展。

目前,随着互联网的迅速发展,中国正处于信息化时代,这离不开数据存储技术和数据处理技术。数据库能存储、处理和分析数据,是信息化和信息管理数字化的必然产物。

2.创建数据库的原因

创建数据库是为了将零散的数据全部存储至数据库中。数据库能存储海量的数据。为了使数据库中的数据更有价值,可通过程序进一步加工和处理数据,从而读取、调用有用的信息,并将有用的信息展示为网页或数据报表。

例如,某班级共有5名学生,当期末考试结束后,这5名学生的成绩被公布:学生A考了99分,学生B考了90分,学生C考了85分,学生D考了70分,学生E考了50分。

若老师不将学生的成绩存储在数据库中,而是直接将试卷交还给学生,则一段时间后,老师很难记得每个学生的具体成绩,更无法准确地计算出全班的平均成绩和合格率。如果老师将学生的姓名、学号、成绩存储在数据库中,则可将学生的成绩转化为有价值的数据。老师甚至可对比学生第一次和第二次考试的成绩,总结学生进步或退步的情况。

3.数据库的特点

(1)数据独立性高

数据独立性是指程序和数据之间相互独立、互不影响。提高数据独立性是设计数据库时最重要的目标之一。数据与程序之间相互独立,把数据从程序中分离出去,数据的存取由数据库负责,简化了程序的编写流程,更容易维护和修改程序。

(2)数据冗余少

数据冗余发生在数据库系统(Database System)中,是指一个数据字段在多个数据表中重复出现。规范的数据表结构可减少冗余产生,节省存储空间。例如,一个数据表存储了用户的姓名、学号、成绩,另一个数据表存储了用户的姓名、学号、爱好、星座。因为用户的学号是唯一的,所以两个数据表可通过关联学号调取数据,其中的一个数据表不用存储用户的姓名等重复数据,从而节省存储空间。

(3)数据共享

数据库中的数据是面向整体的,可被多个用户或程序共同使用,这样可大大减少数据冗余,节省存储空间,避免出现数据不相容的情况。

4.常用的数据库

常用的数据库有Excel、Access、MySQL、Oracle。下面分别介绍这些数据库。

Excel: 非计算机专业的人员通常会使用Excel存储数据。例如,财务人员通常使用Excel存储和整理财务报表。

Access: 小型企业经常使用Access进行数据存储与管理。Access可简化存储和使用数据的操作,维护起来也比较简单。

MySQL: 计算机专业的人员通常会组合使用SQL Server和MySQL存储数据,大中型企业也经常使用MySQL进行数据存储与管理。除此之外,编程开发语言也可与MySQL组合使用,从而更好地管理数据。例如,组合使用PHP与MySQL管理数据。

Oracle: 计算机专业的人员和大中型企业会使用Oracle进行数据存储与管理。

5.数据库的存储能力

数据库的种类不同,存储能力也不同。下面介绍常用数据库的存储能力。

(1)Excel

Excel的版本不同,存储能力也不同。Excel 2003最多只能存储65536条数据,Excel 2010最多只能存储1048576条数据。当用户使用Excel存储最大限度的数据后,打开Excel需要花很长时间,甚至在打开Excel时,会直接闪退或死机。通俗地说,Excel是存储几万条或几十万条数据的微型数据库。如图1-1所示,当用户使用Excel 2010存储数据时,最多能存储1048576条数据。

(2)Access

与Excel不同,Access没有限制数据的储存数量,但限制了数据的存储空间。Access一次最多能存储2GB的数据。当用户使用Access存储2GB的数据后,打开Access需要花很长时间。Access可存储几百万条数据,是一种小型数据库。Access的操作界面如图1-2所示。

img

图1-1

img

图1-2

(3)MySQL

MySQL大约能存储21902400条数据。在默认情况下,使用MySQL创建的MyISAM表最多可存储4GB的数据。一般来说,MySQL是能存储几千万条数据的大中型数据库。图1-3展示了phpMyAdmin软件中MySQL的操作界面。

img

图1-3

(4)Oracle

因为Oracle的数据存储空间大,很多大中型企业会使用Oracle进行数据存储与管理。Oracle是需要付费的商业数据库,企业需要付费才能进行使用。中小型企业的预算有限,很少使用Oracle。一般来说,Oracle是能存储数亿条数据的大型数据库。Oracle的安装界面如图1-4所示。

img

图1-4

1.2 SQL

1.SQL是什么

除了Excel,Access、MySQL、Oracle等数据库都需要有结构化查询语言(Structured Query Language,SQL)的知识基础。换言之,学会SQL可管理各种数据库。SQL是一种数据库查询语言和程序设计语言,用于存储数据,以及查询、更新、管理关系型数据库。

1974年,Boyce和Chamberlin首次提出SQL的概念,并在IBM公司研制的关系型数据库系统System R上实现了SQL。后来,SQL被许多数据库软件公司所接受,逐渐成为数据库行业的标准编程语言。由于SQL具有功能丰富、使用方便、语言简洁易学等优点,深受用户的喜爱。

SQL支持创建、查询、修改、插入、删除等操作。通过上述操作,用户可方便地维护数据库,并进行数据分析。

2.SQL的组成

SQL由如下语言组成。

数据查询语言(DQL)。

数据操作语言(DML)。

数据控制语言(DCL)。

数据定义语言(DDL)。

事务控制语言(TCL)。

指针控制语言(CCL)。

3.SQL的语法规则

SQL的语法规则如下。

SQL语句使用分号结尾。

SQL语句无须区分大小写。

SQL语句可占用一行或多行。如图1-5所示,这条SQL语句占用了两行。

img

图1-5

关键字不能分隔、不能省略、不能跨行。如SEL ECT、SEL都是错误的,必须使用关键字SELECT。

用空格分隔各个单词。如SELECT*,没有使用空格分开SELECT和*,这是错误的,必须使用SELECT *。

字符常量需要使用引号,如'汉族'或'计算机'。数字常量不需要使用引号。

4.SQL的常用关键字

如图1-6所示,SQL常用的关键字可分为如下几类。

● 数据类关键字: SELECT、INSERT、UPDATE、DELETE、FILE。

● 结构类关键字: CREATE、ALTER、INDEX、DROP、CREATE TEMPORARY TABLES、SHOW VIEW、CREATE ROUTINE、ALTER ROUTINE、EXECUTE、CREATE VIEW、EVENT、TRIGGER。

● 管理类关键字: GRANT、SUPER、PROCESS、RELOAD、SHUTDOWN、SHOW DATABASES、LOCK TABLES、REFERENCES、REPLICATION CLIENT、REPLICATION SLAVE、CREATE USER。

img

图1-6

1.3 MySQL

MySQL的图标如图1-7所示。

img

图1-7

目前,MySQL是较为流行的关系型数据库,一步步占领了商业数据库的市场,很多著名的游戏企业、互联网企业、电商企业、科技企业、金融企业都使用MySQL存储重要的数据。

MySQL是开源的数据库,这意味着任何人都可在MySQL源代码的基础上“创造”自己的MySQL,这是开源软件赋予用户的权利。也正是由于MySQL开源、能存储千万条数据的特性,很多企业都会选择MySQL。

MySQL Command Line Client是命令行工具,是MySQL提供的官方客户端。用户在安装并运行MySQL Command Line Client后,即可进入如图1-8所示的主界面。用户直接输入SQL,即可对数据库进行操作。

img

图1-8

1.4 数据类型

数据库支持多种数据类型。本节以 MySQL 为例,介绍数据库的数据类型。MySQL 常用的数据类型大致可分为三种,分别是字符串类型、数值类型和日期时间类型。

字符串类型: 用于存储文本类数据。

数值类型: 用于存储数值类数据。

日期时间类型: 用于存储日期和时间数据。

字符串类型的存储空间和描述如表1-1 所示。

表1-1 字符串类型的存储空间和描述

img

数值类型的存储空间和描述如表1-2 所示。

表1-2 数值类型的存储空间和描述

img

日期时间类型的存储空间、格式和描述如表1-3 所示。

表1-3 日期时间类型的存储空间、格式和描述

img

注意

DATETIME和TIMESTAMP会返回相同的时间格式,但它们的工作方式不同。在INSERT或UPDATE查询中,TIMESTAMP会自动设置为当前的日期和时间。TIMESTAMP可设置不同的格式。 oa3Tj/zrjt6SP/ZSK/CUPwZfGYkrQ3x1Ue+B7SLjfeGSoSNONBtkEtKpd536/bGy

点击中间区域
呼出菜单
上一章
目录
下一章
×