深入相识 MySQL:从底子到高级特性

打印 上一主题 下一主题

主题 855|帖子 855|积分 2565

弁言

在当今数字化期间,数据的存储和管理至关重要。MySQL 作为一款广泛使用的开源关系型数据库管理系统(RDBMS),依附其高性能、可靠性和易用性,成为浩繁开发者和企业的首选。本文将具体先容 MySQL 的底子概念、安装启动、基本操作下令以及高级特性,并给出丰富的下令示例,帮助你全面把握 MySQL 的使用。
一、MySQL 底子概念

数据库

数据库就像是一个大容器,用于存储各种数据。在 MySQL 里,你可以创建多个不同的数据库,以此来组织和管理不同类型的数据,就像不同的文件夹存放不同类型的文件一样。


表是数据库中存储数据的基本布局,由行和列构成。每一列代表一个字段,规定了数据的类型和属性;每一行则代表一条记载,包罗各个字段的具体值。可以把表想象成一个 Excel 表格,列就是表头,行就是具体的数据行。
字段

字段是表中的列,每个字段都有特定的数据类型,如整数、字符串、日期等,这些数据类型用于限制存储的数据格式,确保数据的一致性和准确性。
记载

记载是表中的行,它包罗了表中各个字段的具体值,代表一个完备的数据实体。比方在一个员工信息表中,一条记载就可能包罗某个员工的姓名、年岁、部门等具体信息。
二、MySQL 安装与启动

安装

MySQL 的安装过程会因操作系统的不同而有所差异。下面以 Ubuntu 系统为例,先容具体的安装步骤:
  1. sudo apt update
  2. sudo apt install mysql-server
复制代码
假如你使用的是 Windows 系统,可以从 MySQL 官方网站下载安装步伐,然后按照安装向导的提示进行操作。
启动与停止

在 Ubuntu 系统中,你可以使用以下下令来启动、停止和重启 MySQL 服务,还能设置其开机自启:
  1. # 启动 MySQL 服务
  2. sudo systemctl start mysql
  3. # 停止 MySQL 服务
  4. sudo systemctl stop mysql
  5. # 重启 MySQL 服务
  6. sudo systemctl restart mysql
  7. # 设置 MySQL 服务开机自启
  8. sudo systemctl enable mysql
复制代码
三、MySQL 基本操作下令

登录 MySQL

使用以下下令登录 MySQL 服务器,输入下令后会提示你输入 MySQL 用户的暗码:
  1. mysql -u root -p
复制代码
其中,-u用于指定用户名,这里的root是 MySQL 的超级用户;-p表现必要输入暗码。
数据库操作

创建数据库

  1. CREATE DATABASE mydatabase;
复制代码
此下令会创建一个名为mydatabase的数据库。
查看全部数据库

  1. SHOW DATABASES;
复制代码
实行该下令后,会列出 MySQL 服务器上的全部数据库。
使用数据库

  1. USE mydatabase;
复制代码
这个下令会将当前的操作上下文切换到mydatabase数据库,之后的操作都会针对该数据库进行。
删除数据库

  1. DROP DATABASE mydatabase;
复制代码
该下令会删除名为mydatabase的数据库,必要注意的是,删除后数据将无法恢复,请审慎使用。
表操作

创建表

  1. CREATE TABLE employees (
  2.     id INT AUTO_INCREMENT PRIMARY KEY,
  3.     name VARCHAR(100) NOT NULL,
  4.     age INT,
  5.     department VARCHAR(50)
  6. );
复制代码
此下令创建了一个名为employees的表,包罗id、name、age和department四个字段。id字段是自增的主键,name字段不能为空。
查看表布局

  1. DESCRIBE employees;
复制代码
实行该下令会显示employees表的具体布局,包括字段名、数据类型、是否答应为空等信息。
查看全部表

  1. SHOW TABLES;
复制代码
该下令会列出当前数据库中的全部表。
修改表布局

  1. -- 添加字段
  2. ALTER TABLE employees ADD COLUMN salary DECIMAL(10, 2);
  3. -- 修改字段类型
  4. ALTER TABLE employees MODIFY COLUMN age TINYINT;
  5. -- 删除字段
  6. ALTER TABLE employees DROP COLUMN department;
复制代码
删除表

  1. DROP TABLE employees;
复制代码
该下令会删除employees表,删除后数据将无法恢复,请审慎使用。
数据操作

插入数据

  1. INSERT INTO employees (name, age, salary) VALUES ('John Doe', 30, 5000.00);
复制代码
此下令向employees表中插入一条记载,包罗name、age和salary三个字段的值。
查询数据

  1. -- 查询所有记录
  2. SELECT * FROM employees;
  3. -- 查询指定字段
  4. SELECT name, age FROM employees;
  5. -- 条件查询
  6. SELECT * FROM employees WHERE age > 25;
  7. -- 排序查询
  8. SELECT * FROM employees ORDER BY age DESC;
复制代码
更新数据

  1. UPDATE employees SET salary = 5500.00 WHERE name = 'John Doe';
复制代码
此下令将employees表中name为John Doe的记载的salary字段更新为 5500.00。
删除数据

  1. DELETE FROM employees WHERE age < 20;
复制代码
该下令会删除employees表中age小于 20 的全部记载。
其他常用下令

创建用户

  1. CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';
复制代码
此下令创建了一个名为newuser的用户,该用户只能从当地(localhost)登录,暗码为password。
授予权限

  1. GRANT ALL PRIVILEGES ON mydatabase.* TO 'newuser'@'localhost';
复制代码
该下令将mydatabase数据库的全部权限授予newuser用户。
刷新权限

  1. FLUSH PRIVILEGES;
复制代码
在修改用户权限后,必要实行此下令使权限生效。
退出 MySQL

  1. EXIT;
复制代码
此下令用于退出 MySQL 下令行界面。
四、MySQL 高级特性

索引

索引是一种特殊的数据布局,用于进步数据库查询的速率。你可以在表的一个或多个字段上创建索引,MySQL 会根据索引快速定位符合条件的记载。
  1. -- 创建索引
  2. CREATE INDEX idx_name ON employees (name);
  3. -- 删除索引
  4. DROP INDEX idx_name ON employees;
复制代码
变乱

变乱是一组不可分割的数据库操作序列,要么全部实行成功,要么全部失败回滚。在 MySQL 中,可以使用以下下令管理变乱:
  1. -- 开始事务
  2. START TRANSACTION;
  3. -- 执行一系列操作
  4. INSERT INTO employees (name, age) VALUES ('Jane Smith', 25);
  5. UPDATE employees SET age = 26 WHERE name = 'Jane Smith';
  6. -- 提交事务
  7. COMMIT;
  8. -- 回滚事务
  9. ROLLBACK;
复制代码
存储过程

存储过程是一组预编译的 SQL 语句集合,可以在数据库中存储和重复使用。
  1. -- 创建存储过程
  2. DELIMITER //
  3. CREATE PROCEDURE GetEmployeesByAge(IN min_age INT)
  4. BEGIN
  5.     SELECT * FROM employees WHERE age >= min_age;
  6. END //
  7. DELIMITER ;
  8. -- 调用存储过程
  9. CALL GetEmployeesByAge(25);
复制代码
视图

视图是捏造的表,它基于 SQL 查询语句的结果集。视图不实际存储数据,而是在查询时动态生成结果。
  1. -- 创建视图
  2. CREATE VIEW young_employees AS
  3. SELECT * FROM employees WHERE age < 30;
  4. -- 查询视图
  5. SELECT * FROM young_employees;
复制代码
  韶光匆匆,一篇博客又到了末端处啦。真心感谢每一位愿意花时间阅读我笔墨的朋侪,希望你们每天都过得开开心心的,生活顺顺利利哦,咱们下次再通过笔墨‘相遇’呀。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

半亩花草

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表