第十四章 MySQL数据库系统
第十四章 MySQL数据库系统
目录
14.1Mysql简介
MySQL ( MySQL 2018)是一个关系数据库系统(Codd 1970)。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系数据库系统的标准查询语言是SQL(结构化查询语言),包括MySQL。
MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SQL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。
14.2 安装MySQL
ubuntu linux
sudo apt-get install mysql-server
mysql-server包括一个Mysql服务器和一个客户机。
安装后Mysql后,可通过运行脚本对其进行配置以获得更好的安全性。
mysql_secure_installation
要获得简单和标准的安全设置,读者可以按Y,然后按ENTER,以接收所有问题的默认值。
14.3 使用MySQL
为了简单起见,我们将在同一台机器(即默认本地主机)上运行服务器和客户机。
1、连接到MySQL服务器
mysql -u root -p #specify the root user with password
Enter password:
mysql>
连接到MySQL服务器后,即可访问MySQL shell。然后他只接受MySQL命令或MySQL脚本,而不接受普通sh命令。在输入命令时,要注意以下几点
- 所有的MySQL命令行末尾必须是分号。对于长命令,可在单独行中输入命令短语(按下ENTER键)。
- MySQL命令行不区分大小写。但为了清楚和更容易识别,通常使用大写编写MySQL命令,使用小写编写数据库、表、用户名或文本。
2、显示数据库
SHOW DATABASES命令可显示MySQL中的当前数据库
3、新建数据库
CREATE DATABASE dbname #创建一个名为dbname的数据库
如果数据库已经存在,则可以使用IF NOT EXISTS子句对命令限定。
4、删除数据库
DROP DATABASE dbname #删除已存在的命名数据库
该命令可以用一个可选的IF EXISTS 子句限定。
5、选择数据库
USE dbname命令选择一个数据库
6、创建表
CREATE TABLE table_name 命令回在当前数据库中创建一个表。
DESCRIBE 命令显示表格式和列属性
7、删除表
DROP TABLE table_name #删除表
8、MySQL中的数据结构
9、插入行
要在表中添加行,可以使用INSERT命名:
INSERT INTO table_name VLAUES()
由于单个命令插入多个条目非常繁琐,因此我们可以创建一个包含多个插入命令行的MySQL脚本文件,并将其用作MySQL的输入源文件。
SOURCE insert.sql
10、删除行
DELETE FROM table_name; #dellte all rows of a table
DELETE FROM table_name WHERE condition; #delete row by condition
11、更新表
UPDATE table_name SET coll=value1,col2=value2…WHERE condition
12、修改表
13、关联表
一个真正的数据库肯能包含多个相互关联的表。在mysql中,使用主键-外键约束条件来定义表关系。