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