第十四章学习笔记
第十四章 MySQL数据库系统
1.MySQL介绍
- MySQL是一个关系数据库系统在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。
MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。除了提供标准的数据库系统服务外,MySQL 和PHP已成为大多数数据管理和在线商务网站的主干网。
2.Ubuntu Linux下MySQL的安装与使用
- 安装MySQL
- 命令
sudo apt-get install mysql-server
可以安装一个mysql—server包,mysql-server包包括一个MySQL服务器和一个客户机。
- 连接MySQL
- 首先要运行MySQL客户机程序,从X-window终端输入MySQL客户机命令mysql,它连接到同一台计算机上默认本地主机上的MySQL服务器。连接到MySQL服务器后,即可访冋MySQL shell,它只接受MySQL命令或MySQL脚本,而不接受普通sh命令。在输入MySQL命令时,要注意以下几点。
所有的MySQL命令行末尾必须是分号。
MySQL命令行不区分大小写。
3. 显示数据库
- SHOW DATABASES命令可显示MySQL中的当前数据库。
- 新建数据库
- CREATE DATABASE XXX命令将创建一个名为XXX的新数据库。
- 删除数据库
- DROP DATABASE dbname会删除已存在的命名为dbname的数据库。DROP操作是不可逆的。一旦数据库被删除,就无法撤销或恢复
- 选择数据库
- 假设MySQL已经有几个数据库。为了操作特定的数据库,必须通过USE dbname命令选择一个数据库。
- 创建表
- CREATE TABLE table_name命令会在当前数据库中创建一个表。DESCRIBE或DESC命令显示表格式和列属性。
- 删除表
- DROP TABLE table_name命令可删除表。
- 插入行
- 要在表中添加行,可使用INSERT命名,具有如下语法形式:INSERT INTO table_name VLAUES(column Vaiuel, column Value2,...);
- 删除行
- 用DELETE命令从表中删除行,其语法形式如下:
- 更新表
- UPDATE命令用于修改表中的现有记录(列)。它的语法形式如下:UPDATE table_name SET coll = valuel, col2 = value2,... WHERE condition;
- 修改表
- ALTER TABLE命令用于添加、删除或修改当前表中的列。它还用于添加和删除当前表 中的各种约束条件。
3.MySQL中的数据类型
-
MySQL中使用的基本数据类型,主要有三类:数字、字符串、日期和时间。
-
数值类型:INT:整数(4字节),TINYINT:(1字节),SMALLINT:(2 字节);FLOAT:浮动指针数。
-
字符串类型:CHAR(size):固定长度字符串,长度为1〜255字符。VARCHAR(size):可变长度字符串,但不能使用任何空格。TEXT:可变长度的字符串。
-
日期和时间类型:DATE:日期格式为 YYYY-MM-DD。TIME:以S格式保存时间。
4.关联表
-
一个真正的数据库可能包含多个相互关联的表。在MySQL中,使用主键-外键约束条件来定义表关系。在两个表之间创建链接,其中一个表的主键与另一个表的外键相关联。在MySQL中,表可能以几种方式相关联,包括:
-
一对一(1-1)关系:
- 一对一关系是指两个表仅基于一个匹配行相互关联的关系。可以使用主键-外键约束条件创建这类关系。
-
一对多(l-M)关系:
- 一对多关系是指一个表中的一行在另一个表中有多个匹配行的关系。可以使用主键-外键关系来创建这种关系。
-
多对多(M-M)关系:
- 如果一个表中的多条记录与另一个表中的多条记录相关,则两个表具有多对多(M-M) 关系。处理M-M关系的标准方法是在两个表之间创建一个连接表。连接 表使用外键来引用两个表中的主键,从而在两个表之间创建连接。
-
自引用关系
5.SQL结构化查询语言
- 数据定义语言(DDL):用于定义和管理数据对象,包括数据库,数据表等。例如:CREATE,DROP,ALTER等。数据库 -> 数据表:对数据库或数据表的创建、删除、修改等操作。
- 数据操作语言(DML):用于操作数据库对象中所包含的数据。例如:INSERT,UPDATE,DELETE语句。对数据的 增、删、改这些操作,就是数据操作语言。
- 数据查询语言(DQL):用于查询数据库对象中所包含的数据,能够进行单表查询,连接查询,嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据返回客户机中显示。
- 数据控制语言(DCL):是用来管理数据库的语言,包括管理权限及数据更改。