首页 > 数据库 >第十三周Linux教材第十四章学习笔记——MySQL数据库系统

第十三周Linux教材第十四章学习笔记——MySQL数据库系统

时间:2023-11-29 22:15:26浏览次数:40  
标签:语句 ... 数据库 MySQL tablename 使用 Linux 数据库系统

MySQL数据库系统

MySQL 是一个广泛使用的关系型数据库管理系统(RDBMS),它是开源的,支持多用户和多线程。

14.1 基础知识

1. 数据库基础概念

数据库(Database):** 数据库是一个包含相关数据的集合,并提供了对这些数据的有效管理和访问。

表(Table):** 表是数据库中的基本数据结构,用于存储相关数据。表由行和列组成。

列(Column):** 表中的每个字段都被称为列,每个列存储特定类型的数据。

行(Row):** 表中的每个记录都被称为行,每行包含了一组相关的数据。

主键(Primary Key):** 主键是一列或一组列,其值能唯一标识表中的每一行。主键用于确保数据的唯一性。

外键(Foreign Key):** 外键是一个或多个表中的列,用于建立表与表之间的关系。

 2. MySQL 数据类型

MySQL 支持多种数据类型,包括但不限于:

整数类型(INT, BIGINT, SMALLINT)
浮点类型(FLOAT, DOUBLE)
定点数类型(DECIMAL, NUMERIC)
字符串类型(CHAR, VARCHAR, TEXT)
日期和时间类型(DATE, TIME, DATETIME)
布尔类型(BOOLEAN, BOOL)

3. 数据库管理

创建数据库:使用 `CREATE DATABASE` 语句创建新数据库。

CREATE DATABASE dbname;
... ...

创建表:使用 `CREATE TABLE` 语句定义新表的结构。

CREATE TABLE tablename (
column1 datatype,
column2 datatype,
...
);
... ...

插入数据:使用 `INSERT INTO` 语句向表中插入数据。

INSERT INTO tablename (column1, column2, ...) VALUES (value1, value2, ...);
... ...

查询数据:使用 `SELECT` 语句从表中检索数据。

SELECT column1, column2, ... FROM tablename WHERE condition;
... ...

更新数据:使用 `UPDATE` 语句修改表中的数据。

UPDATE tablename SET column1 = value1 WHERE condition;
... ...

删除数据:使用 `DELETE FROM` 语句从表中删除数据。

DELETE FROM tablename WHERE condition;
... ...

 4. 索引和优化

索引(Index):索引是一种数据结构,用于加速对表中数据的检索操作。常见类型包括主键索引、唯一索引和全文索引。

优化查询:通过正确使用索引、合理设计表结构和使用适当的查询语句,可以提高查询性能。

5. 事务管理

事务(Transaction):事务是一系列数据库操作,要么全部执行成功,要么全部执行失败。

ACID 属性:事务应该具有原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。

事务控制语句:使用 `BEGIN TRANSACTION`、`COMMIT` 和 `ROLLBACK` 等语句控制事务。

6. 用户权限管理

创建用户:使用 `CREATE USER` 语句创建新用户。

CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
... ...

授予权限:使用 `GRANT` 语句授予用户对数据库、表或其他对象的特定权限。

GRANT SELECT, INSERT ON dbname.tablename TO 'username'@'localhost';
... ...

撤销权限:使用 `REVOKE` 语句撤销用户的权限。

REVOKE SELECT, INSERT ON dbname.tablename FROM 'username'@'localhost';
... ...

7. 备份和恢复

备份数据库:使用 `mysqldump` 工具或其他备份工具对数据库进行备份。

mysqldump -u username -p dbname > backup.sql
... ...

恢复数据库:使用 `mysql` 命令或其他恢复工具将备份文件导入到数据库。

mysql -u username -p dbname < backup.sql
... ...

8. 存储过程和触发器

存储过程(Stored Procedure):存储过程是一组预编译的 SQL 语句,可以在数据库中存储和重复使用。

触发器(Trigger):触发器是与表相关联的一组操作,它在表上的特定事件(如插入、更新或删除)发生时自动触发。

14.2 安装MySQL

 配置

14.3 使用MySQL

 检查mysql服务器状态:

 登录时出现错误:

 命令前加sudo才正常:

 显示数据库

(注意show databases后加“;”否则无输出)

 新建数据库testdb

 删除数据库

一旦数据库被删除,就无法撤回或恢复,所以删除命令要谨慎使用。删除数据库使用drop database testdb;这里我们删除了刚刚创建的数据库testdb。

 选择数据库

 创建表

 删除表

 插入行

 可编辑sql脚本文件实现多行插入:

1 /*******insert.sql*******/
2 insert into students values (20211116,'Vickey','101');
3 insert into students values (NULL,'Lily','99');
4 insert into students values (20241131,'Ari','80');
5 insert into students values (NULL,'Honey','120');

 删除行

 更新表

 一对一

首先,创建一个email表:

接下来,将学生邮箱地址插入表中:

 以student_id关联两个表:

 一对多

首先创建一个book_order表:

 向其中添加一个外键:

 然后用学生的图书订单填充表:

 连接操作

 ChatGpt挑战

 

标签:语句,...,数据库,MySQL,tablename,使用,Linux,数据库系统
From: https://www.cnblogs.com/20211115fyq/p/17865342.html

相关文章

  • mysql慢查询日志
    一、开启并查看慢查询日志1、查看慢查询配置showvariableslike'%query%' 可以看到slow_query_log的值是OFF,也就是mysql默认是不启用慢查询日志的。这里还有个long_query_time,默认是10秒,也就是超过了10秒即为慢查询。log_queries_not_using_indexes,如果设置为ON,则会将所......
  • Linux第十二周技术博客
    今天我们学习了文件查找、打包压缩和解压使用echo命令可以查看变量PATH的值,其值被冒号分割成7个字段,每一个字段代表一个目录,which命令时全文搜索,它可以在环境变量PATH设置的目录中查找符合条件的命令文件。local命令可以让用户快速查找所需要的文件或目录。它不搜索全部数据而是......
  • Linux第十四周学习报告
    网络管理    如果我们要用xshall连接我们的虚拟机,那么我们需要静态的ip地址,查看ip地址使用ipconfig命令(win+rcmd)。Linux操作系统提供了强大的网络功能,它提供了许多完善的网络工具来配置网络。用户既可以通过命令行的方式,也可以通过直接修改配置文件轻松完成网络配......
  • linux文件查找和打包压缩
    1文件查找1.1mlocatelocate 查询系统上预建的文件索引数据库 /var/lib/mlocate/mlocate.db索引的构建是在系统较为空闲时自动进行(周期性任务),执行updatedb可以更新数据库,遍历整个根文件系统,很消耗资源工作特点:查找速度快;默认模糊查找,支持正则表达式;非实时查找;搜索的是文......
  • Linux LVM磁盘
    LVM原理1. 逻辑卷:逻辑卷是LVM中最小的存储单元,相当于一个普通的块设备。多个逻辑卷可以组成一个卷组(VolumeGroup,VG)。2. 卷组:卷组是多个逻辑卷的集合,用于统一管理这些逻辑卷。卷组相当于一个容器,可以存储多个逻辑卷。3. 物理卷:物理卷是卷组中实际存储数据的物理磁盘或分区。一个......
  • Linux文件查找、打包压缩及解压
    打包压缩1. 使用tar命令进行文件打包。基本语法如下:tar-cvf压缩文件名文件1文件2...2. 如果您想同时压缩多个文件,可以使用tar-cf命令:tar-cf压缩文件名.tar文件1文件2...3. 使用gzip或bzip2进行压缩。例如,使用gzip压缩:gzip压缩文件名.tar4. 压缩时添加......
  • boost asio在linux接收不到255.255.255.255的应答
    echo0>/proc/sys/net/ipv4/conf/all/rp_filterecho0>/proc/sys/net/ipv4/conf/eth0/rp_filterhttps://stackoverflow.com/questions/47829979/how-to-receive-a-udp-broadcast-sent-to-255-255-255-255-using-boost-asio......
  • 玩转linux用户权限
    玩转linux用户权限用户定义:用户是系统中的一个个体,可以是一个人、一个程序或一个系统服务。每个用户都有一个唯一的用户名(username)和一个用户ID(UID),用户ID是系统内部用于标识用户的数字。权限:每个用户拥有自己的家目录(homedirectory),其中包含了用户私有的文件和设置。......
  • linux常用命令
    linux常用命令1.文件目录介绍目录说明/bin是Binary的缩写,这个目录存放着经常使用的命令/sbins就是SuperUser的意思,这里存放的是系统管理员使用的系统管理程序/home存放着普通用户的主目录,在Linux中每个用户都有一个自己的目录,一般该目录是以用户的账户号命名的/root该目录为系统管......
  • linux安装MAT(MemoryAnalyzerTool)工具
    下载地址:EclipseMemoryAnalyzerOpenSourceProject|TheEclipseFoundation注意:1.12.0Release需要JDK11参数配置在配置的部分,我们主要配置的是ParseHeapDump.sh脚本中的内存参数。在脚本的最后一行的最后面,加上如下的参数-vmargs-Xmx30g-XX:-UseGCOverhea......