《Unix/Linux系统编程》第十四章学习笔记

《Unix/Linux系统编程》第十四章学习笔记

MySQL

MySQL是一个关系数据库系统。在关系数据库中,数据存储在表中。关系数据库系统的标准查询语言是SQL(结构化查询语言)

Ubuntu Linux下MySQL的安装与使用

(1)安装MySQL

命令sudo apt-get install mysql-server可以安装一个mysql—server包,mysql-server包包括一个MySQL服务器和一个客户机。

(2)连接MySQL

首先要运行MySQL客户机程序,从X-window终端输入MySQL客户机命令mysql,它连接到同一台计算机上默认本地主机上的MySQL服务器。连接到MySQL服务器后,即可访冋MySQL shell,它只接受MySQL命令或MySQL脚本,而不接受普通sh命令。在输入MySQL命令时,要注意以下几点。

 

所有的MySQL命令行末尾必须是分号。

  • MySQL命令行不区分大小写。

(3)显示数据库

SHOW DATABASES命令可显示MySQL中的当前数据库。

(4)新建数据库

CREATE DATABASE XXX命令将创建一个名为XXX的新数据库。

(5)删除数据库

DROP DATABASE dbname会删除已存在的命名为dbname的数据库。DROP操作是不可逆的。一旦数据库被删除,就无法撤销或恢复

(6)选择数据库

假设MySQL已经有几个数据库。为了操作特定的数据库,必须通过USE dbname命令选择一个数据库。

(7)创建表

CREATE TABLE table_name命令会在当前数据库中创建一个表。DESCRIBE或DESC命令显示表格式和列属性。

(8)删除表

DROP TABLE table_name命令可删除表。

(9)插入行

要在表中添加行,可使用INSERT命名,具有如下语法形式:INSERT INTO table_name VLAUES(column Vaiuel, column Value2,...);

(10)删除行

用DELETE命令从表中删除行,其语法形式如下:

img

(11)更新表

UPDATE命令用于修改表中的现有记录(列)。它的语法形式如下:UPDATE table_name SET coll = valuel, col2 = value2,... WHERE condition;

(12)修改表

ALTER TABLE命令用于添加、删除或修改当前表中的列。它还用于添加和删除当前表 中的各种约束条件。

img

MySQL中的数据类型

MySQL中使用的基本数据类型,主要有三类:数字、字符串、日期和时间。

 

 

    • 数值类型:

      INT:整数(4字节),TINYINT:(1字节),SMALLINT:(2 字节) FLOAT:浮动指针数。

 

    • 字符串类型:

      CHAR(size):固定长度字符串,长度为1〜255字符。 VARCHAR(size):可变长度字符串,但不能使用任何空格。 TEXT:可变长度的字符串。

 

  • 日期和时间类型:

    DATE:日期格式为 YYYY-MM-DD。 TIME:以S格式保存时间。

关联表

一个真正的数据库可能包含多个相互关联的表。在MySQL中,使用主键-外键约束条件来定义表关系。在两个表之间创建链接,其中一个表的主键与另一个表的外键相关联。在MySQL中,表可能以几种方式相关联,包括:

 

 

    • 一对一(1-1)关系: 一对一(1-1)关系是指两个表仅基于一个匹配行相互关联的关系。可以使用主键-外键约束条件创建这类关系。

       

 

    • 一对多(l-M)关系:

      一对多关系是指一个表中的一行在另一个表中有多个匹配行的关系。可以使用主键-外键关系来创建这种关系。

 

    • 多对多(M-M)关系:

      如果一个表中的多条记录与另一个表中的多条记录相关,则两个表具有多对多(M-M) 关系。处理M-M关系的标准方法是在两个表之间创建一个连接表。连接 表使用外键来引用两个表中的主键,从而在两个表之间创建连接。

 

  • 自引用关系

连接操作

在MySQL中,可使用连接操作在多个表中检索数据。连接操作有4种不同的类型。

 

(INNER) JOIN table 1, table2:检索两个表中共有的项。LEFT JOIN table 1, table2:检索表1中的项以及两个表中共有的项。RIGHT JOIN tablel,table2:检索表2中的项以及两个表中共有的项。

  • OUTER JOIN tabell,table2:检索两个表中非共有以及没有用的项。

    对于正则集运算,MySQL中的连接操作可以解释如下。+表示两个集合的并集,^表 示两个集合的交集。

  •  

 

 

posted @ 2021-12-12 21:29  20191231  阅读(41)  评论(0编辑  收藏  举报