信息安全系统设计与实现课程第十四章学习笔记
知识点总结
1、MySQL
MySQL是一个强大的关系型数据库管理系统,广泛应用于Web应用程序开发和数据管理。下面我们将进一步扩充关于MySQL的知识点。
1.1 MySQL的特点
- MySQL由瑞典MySQL AB公司开发,目前由Oracle公司维护。
- 开源:MySQL是开源软件,免费使用,有助于降低总体拥有成本。
- 分布式存储:数据以表的形式分散存储,提高了性能和灵活性。
- 支持SQL:MySQL使用SQL(Structured Query Language)来管理和查询数据。
- 客户端-服务器架构:MySQL由服务器和客户端组成,允许用户通过客户端与服务器交互。
1.2 MySQL与其他数据库的比较
- MySQL相对于大型数据库如Oracle、DB2、SQL Server来说,更适合个人用户和中小型企业,因为它提供了足够的功能,同时降低了成本。
1.3 数据库类型
- 关系型数据库:Oracle、SQL Server、MySQL
- 非关系型数据库:Redis、MongoDB等,通常用于缓存和存储速度要求高的应用。
1.4 SQL结构化查询语言
- 数据定义语言(DDL):用于定义和管理数据库对象,包括创建、删除、修改数据库和数据表等。
- 数据操作语言(DML):用于对数据库对象中的数据进行增、删、改操作。
- 数据查询语言(DQL):用于查询数据库中的数据。
- 数据控制语言(DCL):用于管理数据库的权限和数据更改。
2、使用MySQL
下面是一些关于使用MySQL的基本操作:
-
安装MySQL(适用于Ubuntu Linux)
- 使用以下命令来安装MySQL:
sudo apt-get install mysql-server
- 安装后,运行以下命令进行安全设置:
mysql_secure_installation
- 使用以下命令来安装MySQL:
-
连接到MySQL服务器
- 使用以下命令连接到MySQL服务器:
mysql -u root -p
连接到MySQL服务器后,即可访问MySQL shell。
- 使用以下命令连接到MySQL服务器:
-
显示数据库
- 使用以下命令可显示MySQL中的当前数据库:
SHOW DATABASES;
- 使用以下命令可显示MySQL中的当前数据库:
-
新建数据库
- 使用以下命令创建一个名为dbname的数据库,如果数据库已经存在,则可以使用IF NOT EXISTS子句限定:
CREATE DATABASE dbname;
- 使用以下命令创建一个名为dbname的数据库,如果数据库已经存在,则可以使用IF NOT EXISTS子句限定:
-
删除数据库
- 使用以下命令删除已存在的命名数据库,该命令可以用一个可选的IF EXISTS子句限定:
DROP DATABASE dbname;
- 使用以下命令删除已存在的命名数据库,该命令可以用一个可选的IF EXISTS子句限定:
-
选择数据库
- 使用以下命令选择一个数据库:
USE dbname;
- 使用以下命令选择一个数据库:
-
创建表
- 使用以下命令在当前数据库中创建一个表:
CREATE TABLE table_name ( column1 datatype1, column2 datatype2, ... );
- 使用以下命令在当前数据库中创建一个表:
-
删除表
- 使用以下命令删除表:
DROP TABLE table_name;
- 使用以下命令删除表:
-
数据类型
- MySQL支持多种数据类型,包括数值类型、字符串类型、日期和时间类型等。
-
插入行
- 使用INSERT命令在表中添加行:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
- 使用INSERT命令在表中添加行:
-
删除行
- 使用DELETE命令从表中删除行:
DELETE FROM table_name; DELETE FROM table_name WHERE condition;
- 使用DELETE命令从表中删除行:
-
更新表
- 使用UPDATE命令修改表中的现有记录(列):
UPDATE table_name SET col1 = value1, col2 = value2, ... WHERE condition;
- 使用UPDATE命令修改表中的现有记录(列):
-
修改表
- 修改表名、添加列、删除列、更改列数据类型等操作。
-
关联表
- 了解不同类型的表关联关系,如一对一、一对多、多对多、自引用关系。
-
连接操作
- 在MySQL中使用连接操作检索多个表中的数据,包括INNER JOIN、LEFT JOIN、RIGHT JOIN和OUTER JOIN等不同类型的连接。
二、ChatGpt提问
三、实践及代码托管
安装MySQL:
四、问题及解决
通过询问ChatGpt修改MySQL服务器密码: