第十四章学习笔记

第14章学习笔记

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

14.1MySQL简介

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

14.2安装MySQL

在Ubuntu中,使用命令sudo apt install mysql-server
可通过运行脚本对其进行配置以获得更好的安全性mysql_secure_installation
1. 连接到MySQL服务器
highlighter- CSS
mysql -u root -p
Enter password:
mysql>
2. 显示数据库
SHOW DATABASES//命令可显示MySQL中的当前数据库
3. 新建数据库
CREATE DATABASE dbname //创建一个名为dbname的数据库,如果数据库已经存在,则可以使用IF NOT EXISTS子句对命令限定。
4. 删除数据库
DROP DATABASE dbname //删除已存在的命名数据库,该命令可以用一个可选的IF EXISTS 子句限定。
5. 选择数据库
USE dbname//命令选择一个数据库
6. 创建表
CREATE TABLE table_name //命令会在当前数据库中创建一个表;DESCRIBE 命令显示表格式和列属性。
7. 删除表
DROP TABLE table_name //命令删除表
Mysql中的数据类型
数值类型
• INT:整数(4字节),TINYINT:(1字节)S,MALLINT:(2字节)等。
• FLOAT:浮动指针数。
字符串类型
• CHAR(size):固定长度字符串,长度为1~255字符。
• VARCHAR(size):可变长度字符串,但不能使用任何空格。
• TEXT:可变长度的字符串。
• TEXT:可变长度的字符串。
日期和时间类型
• DATE:日期格式为YYYYMM-DD。
• TIME:以HHMMSS格式保存时间。
2. 表操作
创建表和删除表
使用CREATE TABLE 命令创建表,使用DROP TABLE 删除表

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

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:检索两个表中非共有以及没有用的项。

posted @ 2022-11-20 22:47  西宁西  阅读(31)  评论(0)    收藏  举报