Unix/Linux系统编程自学笔记-第十四章:MySQL数据库系统
目录:
目录- MySQL数据库系统
- 初始化MySQL
- 实践
MySQL数据库系统
-
本章的主要内容就是MySQL关系数据库系统;介绍了MySQL数据库系统和它的重要性;Linux系统下MySQL的安装与使用方式;MySQL数据库的命令模式和批处理模式的SQL脚本管理方法;C与MySQL数据库的有机结合;MySQL数据库与PHP的集成,通过动态Web创建和管理MySQL数据库。
-
MySQL简介
MySQL(MySQL 2018)是一个关系数据库系统。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联,表也可能与其他表有关联。关系数据库的标准查询语言是SQL(结构化查询语言)如MySQL就是一类SQL。
初始化MySQL
-
安装MySQL数据库
可以通过如下命令来在Ubuntu上安装MySQL数据库:
sudo apt install mysql-server
安装完成后还可以使用
mysql_secure_installation
命令进行简单的安全设置,一般使用初始化默认设置即可。 -
基本用法
MySQL数据库的使用需要连接到MySQL服务器,方式如下:
mysql -u root -p input pwd:xxx mysql >
接入MySQL服务器后即可访问MySQL Shell,即输入行变为了
mysql >
在MySQL Shell中的命令输入需要以;
结尾。下面是一些其他的MySQL数据库操作:
-
显示MySQL数据库
SHUTDOWN DATABASES
用于显示数据库 -
新建MySQL数据库
CREATE DATABASE test
创建新数据库 -
删除MySQL数据库
DROP DATABASE dbname
删除数据库,且不可撤销 -
选择MySQL数据库
USE dbname
选择特定数据库
下面是针对数据库中的表的操作
-
创建表
首先定义一个表结构,使用
CREATE TABLE
即可在当前数据库中创建一个表:mysql > CREAT TABLE mytable( info_a INT NOT NULL PRIMARY KEY AUTO_INCREMENT, info_a_str CHAR(64), info_a_int INT);
-
删除表
使用
DROP TABLE table_name
命令就可以删除表:mysql > DROP TABLE tbname;
-
-
MySQL数据库的数据类型
- 数值类型
- INT: 整型,4个字节;
- TINYINT: 微整型,1个字节;
- SMALLINT: 小整型,2字节;
- FLOAT: 浮动指针数。
- 字符类型
- CHAR(size): 固定长度字符串,长度为1~255字符;
- VARCHAR(size): 可变长度的字符串,注意不可使用空额;
- TEXT: 可变长度的字符串
- 日期与时间类型
- DATE:日期,格式为年+月+日;
- TIME: 以时-分-秒格式显示保存的时间。
- 数值类型
-
对现有表的操作
-
增加/删除行
mysql > INSERT INTO tbname VALUES(NULL, 'info_a', 'info_b'); //add mysql > DELETE FROM tbname WHERE info_kind = xxx; //delete
-
更新表
mysql > UPDATE tbname SET info_kind_b = info_a... WHERE condition;
-
修改表
-
修改表名
ALTER TABLE tbname RENAME n_tbname;
-
添加列
ALTER TABLE tbname ADD column_name datetype;
-
删除行
ALTER TABLE tbname DROP cloumn_name datetype;
-
更改/修改行
ALTER TABLE tbname ALTER CLOUMN cloumn_name datetype;
-
-
关联表
-
一对一关系,由主键-外键关系约束的关联表;
-
一对多关系,也可以由主键-外键关系创建;
-
多对多关系,在两个表之间创建一个连接表;
-
自引用关系,不讨论。
-
-
数据库的关系图
-
实践
-
Ubuntu安装MySQL
使用的命令是
sudo apt install mysql-server
-
连接并查看数据库