• 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 脚本来创建数据库,在数据库中创建表,插入表条目和修改表内容,而不是手动输入命令行。

  • 相关阅读:
    Java后端知识体系
    HashMap底层实现整理
    Java线程池
    Spring Boot+Dubbo 入门
    Go 代码记录(一)
    Servlet 复习
    Spring Cloud(二)Eureka:服务注册与发现
    Spring Cloud (一)概述
    数据结构基础知识
    容器技术-Docker入门
  • 原文地址:https://www.cnblogs.com/lxy2019/p/15680753.html
Copyright © 2020-2023  润新知