Ch14学习笔记——MySQL数据库系统

Ch14学习笔记——MySQL数据库系统

14.1 MySQL简介

MySQL (MySQL2018 )是一个关系数据库系统(Codd 1970 )。在关系数据库中,数据存储在表中。每个表由多个行和列组成。表中的数据相互关联。表也可能与其他表有关联。关系结构使得可在表上运行查询来检索信息并修改数据库中的数据。关系数据库系统的标准查询语言是SQL (结构化查询语言),包括MySQL

14.2 安装MySQL

Ubuntu20.04中使用sudo apt install mysql-server安装MySQL。

使用mysql_secure_installation命令进行安全配置

image

一路yes保持默认,设置密码

image

到此已完成MySQL数据库的安装和配置。

14.3 使用MySQL

使用命令sudo mysql -u root -p命令连接到数据库。
image

14.3.1 简单的命令

命令 作用
SHOW DATABASES; 显示数据库
CREATE DATABASE ; 创建数据库
DROP DATABASE ; 删除数据库
use ; 选择数据库

image

14.3.2 复杂一点点的命令

1. MySQL中的数据类型

  1. 数值类型
    • INT:整数4字节,TINYINT:1字节, SMALLINT:2字节
    • FLOAT:浮点数
  2. 字符串类型
    • CHAR(size):固定长度字符串,长度为1~255字节
    • VARCHAR(size):可变长字符串,但不能使用任何空格
    • TEXT:可变长度的字符串
  3. 日期和时间类型
    • DATE:日期格式为YYYY-MM-DD格式
    • TIME:以HH:MM:SS格式保存时间

2. 表操作

创建表和删除表

使用CREATE TABLE <TABLENAME>命令创建表,使用DROP TABLE <TABLENAME>删除表

  • 示例 创建一个带有如下数据结构的表

    struct students{
    int student_id; # an integer ID number must exist
    char name[20]; # name string of 20 chars
    int score; # an integer exam score, which may not exist
    }
    

    使用如下命令

    CREATE TABLE students (
        student_id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        name CHAR(20),
        score INT );
    

修改表
  • 插入行

    INSERT INTO table_name VLAUES (columnValue1, columnValue2, ... .);
    
  • 删除行

    DELETE FROM table_name; # delete all rows of a table
    DELETE FROM table_name WHERE condition; # delete row by condition
    
  • 更新表

    UPDATE table_name SET col1 = value1, col2 = value2, ... WHERE condition;
    
  • 修改表

    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 COLUMN column_name datatype; # 修改行
    

14.3.13 关联表

1. 一对一关系

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

2. 一对多关系

在数据块中,一对多或1-M关系比1-1关系更常见,也更有用。一对多关系是指一 个表中的一行在另一个表中有多个匹配行的关系。可以使用主键-外键关系来创建这种关系。

3. 多对多关系

如果一个表中的多条记录与另一个表中的多条记录相关,则两个表具有多对多(M-M) 关系。

4. 连接操作

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

  • (INNER) JOIN table 1, table2:检索两个表中共有的项。

  • LEFT JOIN table 1, table2:检索表1中的项以及两个表中共有的项。

  • RIGHT JOIN tablel,table2:检索表2中的项以及两个表中共有的项。

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

14.3.16 MySQL 脚本

与普通Unix/Linux sh 一样,MySQL shell也可以接受和执行脚本文件。MySQL脚本文 件的后缀是.sql。它们包含MySQL服务器要执行的MySQL命令。我们可以使用MySQL 脚本来创建数据库,在数据库中创建表,插入表条目和修改表内容,而不是手动输入命令行。

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