❤️一分钟学会MySQL数据库的使用❤️

❤️一分钟学会MySQL数据库的使用❤️,第1张

MySQL 是最流行的关系型数据库管理系统,在 Web 应用方面 MySQL 是最好的 RDBMS(关系数据库管理系统)应用软件之一。在本教程中,会让大家快速掌握 MySQL 的基本知识,并轻松使用MySQL 数据库。

文章目录 一、MySQL简介1. 什么是数据库2. RDBMS 术语3. 关系型数据库4. MySQL数据库 二、MySQL 安装三、MySQL 登录四、创建数据库五、删除数据库六、选择数据库七、数据类型1. 数值类型2. 日期和时间类型3. 字符串类型 八、创建数据表1.语法2.实例3.演示 九、插入数据1.语法2.实例3.演示 十、查询数据1.语法2.实例3.输出结果 十一、WHERE 子句1.语法2.实例3.输出结果 十二、删除数据表1.语法2.实例3.演示 十三、小结

一、MySQL简介 1. 什么是数据库

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。
每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。
所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理大数据量。

所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据,我们在大学课程中所学的基本上都是关系型数据库。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

数据以表格的形式出现每行为各种记录名称每列为记录名称所对应的数据域许多的行和列组成一张表单若干的表单组成database 2. RDBMS 术语

在我们开始学习MySQL 数据库前,让我们先了解下RDBMS的一些术语:

名词概念
数据库数据库是一些关联表的集合。
数据表表是数据的矩阵。在一个数据库中的表看起来像一个简单的电子表格。
每一列称为一个字段,一列包含了相同类型的数据,比如每位用户的姓名数据
每一行称为一条记录,一行是一组相关的数据,比如用户的个人信息数据。
主键主键是唯一的,一个数据表中只能包含一个主键。你可以使用主键来查询数据。
外键外键用于关联两个表,A表的主键在B表中是个非键属性,称为B表的外键。
复合键复合键(组合键)将多个列作为一个索引键(主键),一般用于复合索引。
索引使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。类似于书籍的目录。
参照完整性参照的完整性要求关系中不允许引用不存在的实体。与实体完整性是关系模型必须满足的完整性约束条件,目的是保证数据的一致性。
3. 关系型数据库

MySQL 为关系型数据库,这种所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成, 如图所示的一个表格:

表头(header): 每一列的名称,最上面一行青色框中的就是表头;列(col): 具有相同数据类型的数据的集合,蓝色框的就是一列;行(row): 每一行用来描述某条记录的具体信息,紫色框的就是一行;值(value): 行的具体信息, 每个值必须与该列的数据类型相同;键(key): 键的值在当前列中具有唯一性,红色框的就是键。 4. MySQL数据库

MySQL 是一个关系型数据库管理系统,由瑞典 MySQL AB 公司开发,目前属于 Oracle 公司。

MySQL 是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。

MySQL 是开源的,目前隶属于 Oracle 旗下产品。MySQL 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。MySQL 使用标准的 SQL 数据语言形式。MySQL 可以运行于多个系统上,并且支持多种语言。这些编程语言包括
C、C++、Python、Java、Perl、PHP、Eiffel、Ruby 和 Tcl 等。 二、MySQL 安装

详细的安装教程如下:如何简单快速安装MySQL5.7(图文详解)

三、MySQL 登录

首先启动服务,在服务中将mysql启动起来

如果启动服务出现问题,参考博客:如何启动MySQL服务

然后在命令行中输入以下命令,再输入密码回车即可进入mysql

 mysql -u root -p

在登录成功后会出现 mysql> 命令提示窗口,你可以在上面执行任何 SQL 语句。

以上命令执行后,登录成功输出结果如下:

如果登录MySQL出现问题,可以参考博客:如何登录MySQL

四、创建数据库

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

CREATE DATABASE 数据库名;

以下命令简单的演示了创建数据库的过程,数据名为 DZH:

五、删除数据库

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

drop 命令删除数据库

drop database <数据库名>;

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

六、选择数据库

在你连接到 MySQL 数据库后,可能有多个可以 *** 作的数据库,所以你需要选择你要 *** 作的数据库。在 mysql> 提示窗口中可以使用SQL命令来选择指定的数据库。

use命令选择数据库

use <数据库名>;

以下实例选取了数据库 DZH:

七、数据类型

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

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

1. 数值类型
类型大小范围(有符号)范围(无符号)用途
TINYINT1 byte(-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可以看做(-无穷,+无穷)(0,+无穷)双精度浮点数值
DECIMAL对DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值
2. 日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。

每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。

类型大小(bytes)范围(有符号)范围(无符号)用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3‘-838:59:59’/‘838:59:59’HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME81000-01-01 00:00:00/9999-12-31 23:59:59YYYY-MM-DD HH:MM:SS混合日期和时间值
TIMESTAMP41970-01-01 00:00:00/2038 结束时间是第 2147483647 秒,北京时间 2038-1-19 11:14:07,格林尼治时间 2038年1月19日 凌晨 03:14:07YYYYMMDD HHMMSS混合日期和时间值,时间戳
3. 字符串类型

char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,比如 CHAR(30) 就可以存储 30 个字符。

CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

类型大小(bytes)用途
CHAR0-255 bytes定长字符串
VARCHAR0-65535 bytes变长字符串
八、创建数据表

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

表名、表字段名、定义每个表字段

1.语法

以下为创建MySQL数据表的SQL通用语法:

CREATE TABLE table_name (column_name column_type);
2.实例

我们将在 DZH 数据库中创建数据表bookshop:

C:\Users\振华OPPO>mysql -u root -p
Enter password:*******
mysql> use DZH;
Database changed
mysql> CREATE TABLE bookshop(
   -> id INT NOT NULL AUTO_INCREMENT,
   -> title VARCHAR(100) NOT NULL,
   -> author VARCHAR(40) NOT NULL,
   -> sub_date DATE,
   -> PRIMARY KEY ( id )
   -> )DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.08 sec)
mysql>

如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在 *** 作数据库时如果输入该字段的数据为NULL ,就会报错。

AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。

PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。

ENGINE 设置存储引擎,CHARSET 设置编码。

SQL 语句不区分大小写,统一小写或者大写即可,但是字段名称区分。

MySQL命令终止符为 分号 “ ;”

-> 是换行符标识,不要复制 。

3.演示

九、插入数据

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

1.语法

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

INSERT INTO table_name ( field1, field2,...fieldN )
                       VALUES
                       ( value1, value2,...valueN );

如果数据是字符型,必须使用单引号或者双引号,如:“value”。

2.实例

以下实例中我们将向 bookshop表插入三条数据:

mysql> INSERT INTO bookshop 
    -> (title,author,sub_date)
    -> VALUES
    -> ("ROS", "CSDN", NOW());
Query OK, 1 rows affected, 1 warnings (0.02 sec)
mysql> INSERT INTO bookshop 
    -> (title,author,sub_date)
    -> VALUES
    -> ("SLAM", "B站", NOW());
Query OK, 1 rows affected, 1 warnings (0.01 sec)
mysql> INSERT INTO bookshop
    -> (title,author,sub_date)
    -> VALUES
    -> ("Category", "MOOC", '2021-08-06');
Query OK, 1 rows affected (0.01 sec)
mysql>

在以上实例中,我们并没有提供 id 的数据,因为该字段我们在创建表的时候已经设置它为 AUTO_INCREMENT(自动增加) 属性。 所以,该字段会自动递增而不需要我们去设置。

实例中 NOW() 是一个 MySQL 函数,该函数返回现在的日期和时间。

3.演示

十、查询数据 1.语法

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

SELECT column_name,column_name
FROM table_name
[WHERE Clause]
[LIMIT N][ OFFSET M]
查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。SELECT 命令可以读取一条或者多条记录。你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据你可以使用 WHERE 语句来包含任何条件。你可以使用 LIMIT 属性来设定返回的记录数。你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。 2.实例

以下查询语句将返回数据表 bookshop的所有记录:

select * from bookshop;
3.输出结果

十一、WHERE 子句

我们知道从 MySQL 表中使用 SQL SELECT 语句来读取数据。

如需有条件地从表中选取数据,可将 WHERE 子句添加到 SELECT 语句中。

1.语法

以下是 SQL SELECT 语句使用 WHERE 子句从数据表中读取数据的通用语法:

SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。你可以在 WHERE 子句中指定任何条件。你可以使用 AND 或者 OR 指定一个或多个条件。WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。 2.实例

以下实例将读取bookshop表中author字段值为CSDN的所有记录:

SELECT * from bookshop WHERE author='CSDN';
3.输出结果

十二、删除数据表

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

1.语法
DROP TABLE table_name ;
2.实例
mysql> DROP TABLE bookshop
Query OK, 0 rows affected (0.1 sec)
mysql>
3.演示


十三、小结

以上我们学习了MySQL数据库的常用基本 *** 作,在平时的学习生活中已经够用了。还有很多较为复杂的 *** 作,比如:排序、分组、连接和索引等等,这里就不再逐一介绍了,因为篇幅过长,感兴趣的同学可以自己研究学习一下,这些 *** 作的目的都是加快检索效率,提高灵活性。至此,你已经掌握了MySQL数据库的基本使用。

让自己忙一点,忙到没有时间去思考无关紧要的事,很多事就这样悄悄地淡忘了。时间不一定能证明很多东西,但是一定能看透很多东西。坚信自己的选择,不动摇,使劲跑,明天会更好。 ​​​​

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/991603.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存