Mysql学习心得

mysql简介

MySQL 是一个开源的关系型数据库管理系统(RDBMS),由瑞典公司 MySQL AB 开发,后来被 Sun Microsystems 收购,最后又被 Oracle Corporation 收购。MySQL 因其高性能、易用性、可靠性和可扩展性而广受欢迎,特别是在 Web 应用程序中。

以下是 MySQL 的一些主要特点和简介:

开源:MySQL 是一个开源项目,允许用户免费使用、修改和分发它。
跨平台:MySQL 可以在多种操作系统上运行,包括 Windows、Linux、macOS 等。
关系型数据库:MySQL 支持标准的 SQL 语言,提供完整的 RDBMS 功能。
高性能:MySQL 经过优化,可以处理大量的并发连接和数据操作。
易用性:MySQL 提供了多种图形化工具(如 phpMyAdmin、MySQL Workbench 等)来简化数据库的管理和操作。
可扩展性:通过分表、分区、读写分离等技术,MySQL 可以轻松应对大规模数据的存储和查询需求。
安全性:MySQL 提供了多种安全特性,如用户权限管理、数据加密、审计日志等。
复制和集群:MySQL 支持主从复制和集群技术,可以实现数据备份、负载均衡和高可用性。
存储引擎:MySQL 支持多种存储引擎,如 InnoDB、MyISAM、Memory 等,每种引擎都有其特定的使用场景和优势。其中,InnoDB 是最常用的存储引擎,支持事务处理和外键约束。
与其他语言的集成:MySQL 提供了丰富的 API 和驱动程序,可以与多种编程语言(如 PHP、Java、Python 等)进行集成。
MySQL 在许多领域都有广泛的应用,包括 Web 开发、数据分析、电子商务、内容管理系统(CMS)等。由于其强大的功能和良好的性能,MySQL 已成为 Web 开发中最常用的数据库系统之一。

在咱们使用之前得先安装mysql

学习过程

MySQL 安装

所有平台的 MySQL 下载地址为: mysql下载安装。 挑选你需要的 MySQL Community Server 版本及对应的平台。
在此选择您所安装的类型
以下我是用windows系统来使用mysql

MySQL 管理

启动及关闭 MySQL 服务器
Windows 系统下
启动 MySQL 服务器:
1、通过 “服务” 管理工具: 打开"运行"对话框(Win + R),输入 services.msc,找到"MySQL"服务,右击选择"启动"。

2、通过命令提示符: 打开命令提示符(以管理员身份),输入以下命令:

net start mysql

关闭MySQL服务器:

1、通过 “服务” 管理工具:同样打开"运行"对话框,输入 services.msc,找到 “MySQL” 服务,右击选择"停止"。

2、通过命令提示符: 打开命令提示符(以管理员身份),输入以下命令:

net stop mysql

连接好mysql服务后咱们就可以成功进入到mysql数据库中
在这里插入图片描述
接下来咱们就可以尽情的编写代码创建数据库了

MySQL 创建数据库

我们可以在登陆 MySQL 服务后,使用 create 命令创建数据库,语法如下:

CREATE DATABASE 数据库名;

建数据库的基本语法如下:

CREATE DATABASE [IF NOT EXISTS] database_name
  [CHARACTER SET charset_name]
  [COLLATE collation_name];

如果你希望在创建数据库时指定一些选项,可以使用 CREATE DATABASE 语句的其他参数,例如,你可以指定字符集和排序规则:

CREATE DATABASE mydatabase
  CHARACTER SET utf8mb4
  COLLATE utf8mb4_general_ci;

实例:
在这里插入图片描述

MySQL 删除数据库

使用普通用户登陆 MySQL 服务器,你可能需要特定的权限来创建或者删除 MySQL 数据库,所以我们这边使用 root 用户登录,root 用户拥有最高权限。

在删除数据库过程中,务必要十分谨慎,因为在执行删除命令后,所有数据将会消失。

drop 命令删除数据库
drop 命令格式:
– 直接删除数据库,不检查是否存在

DROP DATABASE <database_name>;   

DROP DATABASE [IF EXISTS] <database_name>;

参数说明:

IF EXISTS 是一个可选的子句,表示如果数据库存在才执行删除操作,避免因为数据库不存在而引发错误。
database_name 是你要删除的数据库的名称。

例如删除名为Mybook的数据库:

-- 直接删除数据库,不检查是否存在
mysql> DROP DATABASE Mybook;
-- 删除数据库,如果存在的话
DROP DATABASE IF EXISTS  Mybook;

在这里插入图片描述
注意: 在执行删除数据库操作前,请确保你确实想要删除数据库及其所有数据,因为该操作是不可逆的。为了避免误操作,通常建议在执行删除之前备份数据库。

MySQL 选择数据库

在你连接到 MySQL 数据库后,可能有多个可以操作的数据库,所以你需要选择你要操作的数据库。

从命令提示窗口中选择 MySQL 数据库
在 mysql> 提示窗口中可以很简单的选择特定的数据库。

在 MySQL 中,要选择要使用的数据库,可以使用 USE 语句,以下是基本的语法:

USE database_name;

参数说明:

database_name 是你要选择的数据库的名称。
选择来数据库后,你的后续 SQL 查询和操作在指定的数据库 database_name 上执行。

实例
以下实例选取了数据库Mybook:
在这里插入图片描述
执行以上命令后,你就已经成功选择了 Mybook 数据库,在后续的操作中都会在 Mybook 数据库中执行。
注意:

请确保选择的数据库存在,否则你将收到错误消息。
你可以使用 SHOW DATABASES; 查询可用的数据库,确保你要选择的数据库在列表中。

在这里插入图片描述

MySQL 数据类型

MySQL 中定义数据字段的类型对你数据库的优化是非常重要的。

MySQL 支持多种类型,大致可以分为三类:数值、日期/时间和字符串(字符)类型。

数值类型
MySQL 支持所有标准 SQL 数值数据类型。

这些类型包括严格数值数据类型(INTEGER、SMALLINT、DECIMAL 和 NUMERIC),以及近似数值数据类型(FLOAT、REAL 和 DOUBLE PRECISION)。

关键字INT是INTEGER的同义词,关键字DEC是DECIMAL的同义词。

BIT数据类型保存位字段值,并且支持 MyISAM、MEMORY、InnoDB 和 BDB表。

作为 SQL 标准的扩展,MySQL 也支持整数类型 TINYINT、MEDIUMINT 和 BIGINT。下面的表显示了需要的每个整数类型的存储和范围。

类型大小范围(有符号)范围(无符号)用途
TINYINT1 Bytes(-128,127)(0,255)小整数值
SMALLINT2 Bytes(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT3 Bytes(-8 388 608,8 388 607)(0,16 777 215)大整数值
INT或INTEGER4 Bytes(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT8 Bytes(-9,223,372,036,854,775,808,9 223 372 036 854 775 807)(0,18 446 744 073 709 551 615)极大整数值
FLOAT4 Bytes(-3.402 823 466 E+38,-1.175 494 351 E-38),0,(1.175 494 351 E-38,3.402 823 466 351 E+38)0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度浮点数值
DOUBLE8 Bytes(-1.797 693 134 862 315 7 E+308,-2.225 073 858 507 201 4 E-308),0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)0,(2.225 073 858 507 201 4 E-308,1.797 693 134 862 315 7 E+308)双精度浮点数值
DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值

更多的数据类型请查询有关资料

MySQL 创建数据表

创建 MySQL 数据表需要以下信息:

表名
表字段名
定义每个表字段的数据类型
语法
以下为创建 MySQL 数据表的 SQL 通用语法:

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

参数说明:

table_name 是你要创建的表的名称。
column1, column2, … 是表中的列名。
datatype 是每个列的数据类型。
以下是一个具体的实例,创建一个用户表 users:

CREATE TABLE users (
    id INT AUTO_INCREMENT PRIMARY KEY,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    birthdate DATE,
    is_active BOOLEAN DEFAULT TRUE
);

在这里插入图片描述
实例解析

id: 用户 id,整数类型,自增长,作为主键。
username: 用户名,变长字符串,不允许为空。
email: 用户邮箱,变长字符串,不允许为空。
birthdate: 用户的生日,日期类型。
is_active: 用户是否已经激活,布尔类型,默认值为 true。
以上只是一个简单的实例,用到了一些常见的数据类型包括 INT, VARCHAR, DATE, BOOLEAN,你可以根据实际需要选择不同的数据类型。AUTO_INCREMENT 关键字用于创建一个自增长的列,PRIMARY KEY 用于定义主键。
执行成功后,就可以通过命令行查看表结构:
在这里插入图片描述

MySQL 删除数据表

MySQL中删除数据表是非常容易操作的,但是你在进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。

语法
以下为删除 MySQL 数据表的通用语法:
– 直接删除表,不检查是否存在

 DROP TABLE table_name ; 

DROP TABLE [IF EXISTS] table_name;

参数说明:

table_name 是要删除的表的名称。
IF EXISTS 是一个可选的子句,表示如果表存在才执行删除操作,避免因为表不存在而引发错误。

-- 删除表,如果存在的话
DROP TABLE IF EXISTS mytable;

-- 直接删除表,不检查是否存在
DROP TABLE mytable;

实例
以下实例删除了数据表users:
在这里插入图片描述

MySQL 插入数据

MySQL 表中使用 INSERT INTO 语句来插入数据。

你可以通过 mysql> 命令提示窗口中向数据表中插入数据,或者通过PHP脚本来插入数据。

语法
以下为向MySQL数据表插入数据通用的 INSERT INTO SQL语法:

INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);

参数说明:

table_name 是你要插入数据的表的名称。
column1, column2, column3, … 是表中的列名。
value1, value2, value3, … 是要插入的具体数值。
如果数据是字符型,必须使用单引号 ’ 或者双引号 ",如: ‘value1’, “value1”。

一个简单的实例,插入了一行数据到名为 users 的表中:

INSERT INTO users (username, email, birthdate, is_active)
VALUES ('test', 'test@runoob.com', '1990-01-01', true);

在这里插入图片描述
username: 用户名,字符串类型。
email: 邮箱地址,字符串类型。
birthdate: 用户生日, 日期类型。
is_active: 是否已激活,布尔类型。
如果你要插入多行数据,可以在 VALUES 子句中指定多组数值:

INSERT INTO users (username, email, birthdate, is_active)
VALUES
    ('test1', 'test1@runoob.com', '1985-07-10', true),
    ('test2', 'test2@runoob.com', '1988-11-25', false),
    ('test3', 'test3@runoob.com', '1993-05-03', true);

以上代码将在 users 表中插入三行数据。
实例:
在这里插入图片描述
接下来我们可以通过以下语句查看数据表数据:

select * from users;

实例:
在这里插入图片描述

MySQL 查询数据

MySQL 数据库使用 SELECT 语句来查询数据。

你可以通过 mysql> 命令提示窗口中在数据库中查询数据,或者通过 PHP 脚本来查询数据。

语法
以下为在 MySQL 数据库中查询数据通用的 SELECT 语法:

SELECT column1, column2, ...
FROM table_name
[WHERE condition]
[ORDER BY column_name [ASC | DESC]]
[LIMIT number];

参数说明:

column1, column2, … 是你想要选择的列的名称,如果使用 * 表示选择所有列。
table_name 是你要从中查询数据的表的名称。
WHERE condition 是一个可选的子句,用于指定过滤条件,只返回符合条件的行。
ORDER BY column_name [ASC | DESC] 是一个可选的子句,用于指定结果集的排序顺序,默认是升序(ASC)。
LIMIT number 是一个可选的子句,用于限制返回的行数。
MySQL SELECT 语句简单的应用实例:

-- 选择所有列的所有行
SELECT * FROM users;

-- 选择特定列的所有行
SELECT username, email FROM users;

-- 添加 WHERE 子句,选择满足条件的行
SELECT * FROM users WHERE is_active = TRUE;

-- 添加 ORDER BY 子句,按照某列的升序排序
SELECT * FROM users ORDER BY birthdate;

-- 添加 ORDER BY 子句,按照某列的降序排序
SELECT * FROM users ORDER BY birthdate DESC;

-- 添加 LIMIT 子句,限制返回的行数
SELECT * FROM users LIMIT 10;

SELECT 语句可以是灵活的,我们可以根据实际需求组合和使用这些子句,比如同时使用 WHERE 和 ORDER BY 子句,或者使用 LIMIT 控制返回的行数。

在 WHERE 子句中,你可以使用各种条件运算符(如 =, <, >, <=, >=, !=),逻辑运算符(如 AND, OR, NOT),以及通配符(如 %)等。
在这里插入图片描述

关于mysql的使用咱们还可以使用可视化工具来方便我们的操作

总结

以上就是我在学习MySQL过程中的一些心得体会,通过这段时间的学习,我掌握了一些MySQL的基本操作,数据库设计、SQL语句编写技巧以及备份与恢复等方面的知识,将在我未来的项目中发挥重要作用。我将继续学习和探索更多数据库技术,不断提升自己的能力。

  • 27
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值