20191226刘煊赫

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

第十四章、MYSQL数据库系统
一、MySQL简介
MySQL(MySQL 2018)是一个关系数据库系统(Codd 1970)。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系数据库系统的标准查询语言是SQL(结构化查询语言),包括MySQL。
MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。
二、安装MySQL
1.Ubuntu Linux
对于Ubuntu 16.04及以后版本,通过以下操作安装MySQL:
sudo apt-get install mysql-server
mysql-server包包括一个MySQL服务器和一个客户机。在安装MySQL时,它会询问根用户密码。用户可以使用与Ubuntu相同的登录密码。安装MySQL后,可通过运行脚本对其进行配置以获得更好的安全性:
mysql_secure_installation
要得到简单和标准的安全设置,读者可以按Y,然后按ENTER,以接收所有问题的默认值。
2.Slackware Linux
Slackware Linux预装了MySQL,但仍然需要配置。否则,Slackware会在MySQL数据库启动时显示一条错误信息、
三、使用MySQL
假设MySQL服务器已经设置好并在Ubuntu或Slackware Linux机器上运行。MySQL服务器必须设置为支持不同的用户。为简单起见,我们将只假定根用户。为了使用MySQL,用户必须运行一个MySQL客户机来连接到服务器。MySQL支持来自远程IP主机的客户机连接。
1.连接到MySQL服务器
使用MySQL的第一步是 运行MySQL客户机程序。从X-window终端输入MySQL客户机命令mysql,它连接到同一台计算机上默认本地主机上的MySQL服务器。
mysql -u root -p
Enter password:
mysql>
连接到MySQL服务器后,即可访问MySQL shell,如mysql>提示符所示。MySQL shell类似于普通的shell。它会显示一个mysql>提示符,要求用户输入可供MySQL服务器执行的SQL命令。与普通sh类似,它还维护一个命令历史记录,允许用户通过箭头键回忆和修改先前的命令。然而,它只接受MYSQL命令或MYSQL脚本,而不接受普通sh命令。在输入MySQL命令时,读者要注意以下几点。
·所有的MySQL命令行末尾必须是分号。对于长命令,可在单独行中输入命令短语(按下ENTER键盘)。MySQL将会通过->符号继续提示更多的输入,直到它看到一个结束分号。
·MySQL命令行不区分大小写。虽然不是强制要求,但为了清楚和更容易识别,通常使用大写编写MySQL命令,使用小写编写数据库、表、用户名或文本。
2.显示数据库
SHOW DATABASES命令可显示MySQL中的当前数据库。
3.新建数据库
如果数据库dbname还不存在,那么CREATE DATABASE dbname命令将创建一个名为dbname的新数据库。如果数据库已经存在,则可以使用可选的IF NOT EXISTS子句对该命令进行限定,以避免出现错误信息。
4.删除数据库
DROP DATABASE dbname会删除已存在的命名数据库。该命令可以用一个可选的IFEXISTS子句限定。注意,DROP操作是不可逆的。一旦数据库被删除,就无法撤销或恢复。因此,须谨慎使用。
5.选择数据库
假设MySQL已经有几个数据库。为了操作特定的数据库,用户必须通过USE dbname命令选择一个数据库。
6.创建表
主键是一个列或一组列,可用于唯一地标识行。在默认情况下,主键是唯一的。
7.删除表
DROP TABLE table_name命令可删除表。
8.MySQL中的数据类型
在继续之前,要了解MySQL中使用的基本数据类型,主要有三类:数字、字符串、日期和时间。我们只显示每个类别中一些常用的数据类型。
数值类型:
INT:整数(4字节),TINYINT:(1字节),SMALLINT:(2字节)等。
FLOAT:浮动指针数
字符串类型:
CHAR(size):固定长度字符串,长度为1~255字符。
VARCHAR(size):可变长度字符串,但不能使用任何空格。
TEXT:可变长度的字符串。
日期和时间类型:
DATE:日期格式为YYYY-MM-DD。
TIME:以HH:MM:SS格式保存时间
9.插入行
要在表中添加行,可使用INSERT命名,具有语法形式:
INSERT INTO table_name VLAUES(column Value l,column Value 2,……)
同时,我们可以向表中插入更多的学生记录。由于通过单个命令行手动插入多个条目非常烦琐,因此我们可以创建一个包含多个插入命令行的MySQL脚本文件,并将其用作MyAQL的输入源文件。
10.删除行
使用DELETE命令从表中删除行,其语法形式如下:
DELETE FROM table_name; #delete all rows of a table
DELETE FROM table_name WHERE condition; #delete row by condition
11.更新表
12.修改表
ALTER TABLE命令用于添加、删除或修改当前表中的列。它还用于添加和删除当前表中的各种约束条件。
(1)修改表名
(2)添加列
(3)删除行
(4)更改/修改行
13.关联表
在MySQL中,使用主键-外键约束条件来定义表关系。
一对一(1-1)关系
一对多(1-M)关系
多对多(M-M)关系
自引用关系
14.连接操作
在MySQL中,可使用连接操作在多个表中检索数据。连接操作有4种不同的类型。
·(INTER)JOIN table1,table2:检索两个表中共有的项。
·LEFT JOIN table 1,table 2:检索表1中项以及两个表中共有的项。
15.MySQL数据库关系图
16.MySQL脚本

posted on 2021-12-12 17:27  20191226刘煊赫  阅读(19)  评论(0编辑  收藏  举报