Unix/Linux系统编程》第十四章学习笔记
第十四章 MySQL数据库系统
14.1 MySQL简介
-
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品。MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。MySQL是将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
-
MySQL是一个开源数据库管理系统,由服务器和客户机组成。在将客户机连接到服务器后,用户可向服务器输入SOL命令,以便创建数据库,删除数据库,存储、组织和检索数据库中的数据。MySQL有广泛的应用。除了提供标准的数据库系统服务外,MySQL和PHP(PHP2018)已成为大多数数据管理和在线商务网站的主干网。
14.2 安装MySQL
14.3 使用MySQL
14.3.1 链接MySQL服务器
mysql -u root -p
Enter password:
mysql>
14.3.2 显示数据库
SHOW DATABASES//命令可显示MySQL中的当前数据库
14.3.3 新建数据库
CREATE DATABASE dbname //创建一个名为dbname的数据库,如果数据库已经存在,则可以使用IF NOT EXISTS子句对命令限定。
14.3.4 删除数据库
DROP DATABASE dbname //删除已存在的命名数据库,该命令可以用一个可选的IF EXISTS 子句限定。
14.3.5 选择数据库
USE dbname//命令选择一个数据库
14.3.6 创建表
CREATE TABLE table_name //命令会在当前数据库中创建一个表;DESCRIBE 命令显示表格式和列属性。
14.3.7 删除表
DROP TABLE table_name //命令删除表
14.3.8 MySQL中的数据类型
-
数值类型
INT:整数(4字节),TINYINT:(1字节)S,MALLINT:(2字节)等。
FLOAT:浮动指针数。 -
字符串类型
CHAR(size):固定长度字符串,长度为1~255字符。VARCHAR(size):可变长度字符串,但不能使用任何空格。
TEXT:可变长度的字符串。
TEXT:可变长度的字符串。
-
日期和时间类型
DATE:日期格式为YYYYMM-DD。
TIME:以HHMMSS格式保存时间。
14.3.9 插入行命令
INSERT INTO table_name VLAUES(columnValuel,columnValue2,....);
14.3.10 删除行命令
DELETE FROM table_name;
DELETE FROM table_name WHERE condition;
14.3.11 更新表命令
UPDATE table_name SET coll = value1, col2 = value2,…… WHERE condition;
14.3.12 修改表
-
ALTER TABLE命令用于添加、删除或修改当前表中的列。它还用于添加和删除当前表中的各种约束条件。
修改表名 -
如需修改表名,可使用以下命令:
ALTER TABLE table name renAme To new_name;
-
添加列 要在表中添加列,可使用以下命令:
ALTER TABLE table name ADD column name datatype;
-
删除行 可使用以下命令删除列:
ALTER TABLE table name DROP column name datatype;
-
更改/修改行 可使用以下命令修改表中某列的数据类型:
ALTER TABLE table name ALTER COLUNN column_name datatype;
-
关联表
一个真正的数据库可以能包含多个相互关联的表,使用主键-外键约束条件来定义表关系。
一对一
一对多
多对多
自引用 -
连接操作
在MySQL中,可使用连接操作在多个表中检索数据。连接操作有4种不同的类型。(INNER)JOIN tablel,table2:检索两个表中共有的项。 LEFT JOIN tablel,table2:检索表1中的项以及两个表中共有的项。 JOIN tablel,table2:检索表2中的项以及两个表中共有的项。 OUTER JOIN tabell, table2:检索两个表中非共有以及没有用的项。