前言
在这篇博客中,我将介绍MySQL数据库的基础操作。MySQL是一个开源的关系型数据库管理系统,被广泛用于各种类型的应用程序开发和数据存储。无论您是初学者还是有一定经验的开发者,了解MySQL的基础操作对于正确和高效地管理和操作数据库都是至关重要的。
本篇博客的重点在于介绍MySQL的以下几个方面:创建数据库、创建数据表、数据库操作。详细内容请看正文。
这是本篇文章的脉络图:
一、数据库连接
这里不介绍数据库的安装。装好数据库后,使用cmd命令行连接。
示例代码:
mysql -h(主机地址) -u root(用户名) -p(指定密码)
注意:
在自己电脑上登陆可以不加-h参数。若你不想让人看到登录密码,可以只输入-p,然后在出现的Enter password中输入密码(密码会呈现*号)。-p:如果登陆密码为空,可以忽略。
我的截图:
二、创建数据库
2.1 创建数据库
可以使用`CREATE DATABASE`(不区分大小写)语句来创建一个新的数据库。
示例代码:
CREATE DATABASE 新的数据库名称;
注意:
sql语句一定要以英文分号结尾;create database是MySQL的关键字不能打错或者遗漏;数据库名不能空格,否则会报错;数据库的名称不能以数字开头。
运行截图:
2.2 删除数据库
使用`drop database`语句来删除之前创建的一个数据库。
示例代码:
drop database 数据库名;
2.3 查看数据库
使用`show databases;`语句,列出mysql数据库管理系统的数据列表,要注意这里databases是复数形式。
2.4 使用数据库
使用`use`语句,选择需要操作的数据库,使用该命令后所有的Mysql命令都只针对该数据库,
出现changed字段代表成功。
示例代码:
use 数据库名;
运行截图:
三、创建数据表
3.1 创建数据表
使用`CREATE TABLE`语句创建一个数据表,创建mysql数据表需要以下信息:表名、表字段名、定义每个表字段。
示例代码:
CREATE TABLE 表名 (属性名 数据类型 完整性约束条件, 属性名 数据类型 完整性约束条件, 属性名 数据类型 );
数据类型和约束条件的内容可以参考我的上一篇博客
我的截图(创建了一个students表):
3.2 删除数据表
使用`DROP TABLE`语句删除一个数据表。MySQL中删除数据表是非常容易操作的,但是你在进行删除表操作时要非常小心,因为执行删除命令后所有数据都会消失。
示例代码:
DROP TABLE 表名;
3.3 插入语句
使用`INSERT INTO`语句插入数据。
示例代码:
INSERT INTO table_name (column1, column2, ...) VALUES (value1, value2, ...);
在这里,table_name
是要插入数据的数据表的名称。column1, column2, ...
是要插入数据的列名。value1, value2, ...
是要插入的数据值。
我的截图(成功插入了10条学生记录):
3.4 查看数据表
(1)使用`select * from `语句查看数据表数据。
示例代码:
select * from 表名;
我的截图(查看刚刚操作生成的students表):
(2)使用`show tables;`语句查看指定数据库的所有表。使用该命令前需要使用use命令来选择要操作的数据库。
四、数据库操作
4.1 显示列
(1)使用`SHOW COLUMNS FROM `显示指定数据表的列信息,包括列名、数据类型、是否允许为空、是否为主键、默认值等其他属性信息。
示例代码:
SHOW COLUMNS FROM 表名;
我的截图:
在上面的示例结果中,`Field` 列显示了列名,`Type` 列显示了数据类型,`Null` 列表示是否允许为NULL值,`Key` 列表示是否为主键,`Default` 列显示了默认值,`Extra` 列显示了其他信息。
(2)`SHOW FULL COLUMNS FROM`这个命令与上一个命令相似,但在显示列信息时,它还会提供更详细的备注信息(如果有的话),如列的注释、字符集、列权限等。
示例代码:
SHOW FULL COLUMNS FROM 表名;
我的截图:
与前面的示例相比,这里多了 `Comment`(备注)和 `Collation`(字符集)这两列信息。
4.2 显示索引
使用`SHOW INDEX FROM `显示指定数据表的详细索引信息,包括普通索引和主键索引。它提供了关于每个索引的名称、索引列、排序方式、唯一值数目、压缩方式等信息。
示例代码:
SHOW INDEX FROM 表名;
我的截图:
在上面的示例结果中,Table
列显示了表名,Non_unique
列表示索引是否可以重复,Key_name
列为索引的名称,Seq_in_index
列表示索引中列的排序顺序,Column_name
列显示列名,Collation
列表示列在索引中的存储方式(A表示升序,NULL表示无分类),Cardinality
列显示索引的唯一值的估计数量,Sub_part
列表示如果列只是部分地编入索引,则为编入索引的字符数目,Packed
列指示关键字的压缩方式,Null
列表示列中是否包含 NULL 值,Index_type
列显示使用的索引方法,Comment
列用于添加其他备注信息。
4.3 修改表名
可以使用ALTER TABLE
语句中的RENAME
关键字修改表名。
示例代码:
Alter table 旧表名 rename 新表名;
4.4 修改数据类型
要修改表中某个字段的数据类型,可以使用`ALTER TABLE`语句中的`MODIFY`关键字。
示例代码:
Alter table 表名 modify 属性名 数据类型;
在这里,`表名`是要修改字段的表名,`属性名`是要修改的字段名,`新数据类型`是要将字段修改为的新数据类型。
4.5 修改字段名
要修改表中某个字段的名称和数据类型,可以使用`ALTER TABLE`语句中的`CHANGE`关键字。
示例代码:
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
在这里,`表名`是要修改字段的表名,`旧属性名`是要修改的字段的旧名称,`新属性名`是要将字段修改为的新名称,`新数据类型`是要将字段修改为的新数据类型。
4.6 增加字段
要在表中添加新的字段,可以使用`ALTER TABLE`语句中的`ADD`关键字。
示例代码:
ALTER TABLE 表名 ADD 属性名 数据类型 [完整性约束条件];
在这里,`表名`是要添加字段的表名,`属性名`是新字段的名称,`数据类型`是新字段的数据类型,`完整性约束条件`是可选的,用于定义字段的约束条件。
4.7 删除字段
要删除表中的字段,可以使用`ALTER TABLE`语句中的`DROP`关键字。
示例代码:
Alter table 表名 drop 属性名 ;
在这里,`表名`是要删除字段的表名,`属性名`是要删除的字段名。
五、查询语句
对于数据库查询操作,可以使用`SELECT`语句来检索数据。以下是一些常见的查询语句示例:
5.1 取出表中所有列
取出表中所有列:
SELECT * FROM 表名;
这将返回表中的所有列和行,其中`表名`是要查询的表的名称。
5.2 取出列名的数据
取出指定列名的数据:
SELECT 列名1, 列名2 FROM 表名;
这将返回表中指定列名的数据,其中`列名1`和`列名2`是您要查询的列的名称,`表名`是要查询的表的名称。
5.3 使用WHERE子句
使用WHERE子句设定查询条件:
SELECT 列名 FROM 表名 WHERE 条件;
这将根据指定的条件返回满足条件的数据集,其中`列名`是要查询的列的名称,`表名`是要查询的表的名称,`条件`是要设置的查询条件。
说明:where子句类似于程序语言中的if条件,根据mysql表中的字段值来读取指定的数据。 where的字符串比较是不区分大小写的。 可以使用where binary关键字来设定where子句的字符串比较区分大小写。
5.4 使用多表查询
使用多表查询:
SELECT 列名 FROM 表名1, 表名2 WHERE 条件;
这将从多个表中检索数据,并根据指定的条件进行联接操作。你可以通过使用逗号将多个表名分隔开来,然后使用`WHERE`语句指定联接条件。
5.5 使用通配符检索
使用通配符(*)检索所有字段数据:
SELECT * FROM 表名;
这将返回表的所有字段数据,而不需要指定具体的列名。
六、修改语句
在MySQL中,可以使用`UPDATE`命令来修改或更新数据。以下是一些`UPDATE`命令的示例:
6.1 更新单个字段
UPDATE 表名 SET 字段名 = 新值 WHERE 条件;
这将在满足指定条件的行中更新指定字段的值。其中,`表名`是要更新数据的表名,`字段名`是要更新的字段名,`新值`是字段的新值,`条件`是要更新的行的条件。
6.2 更新多个字段
同时更新多个字段的值:
UPDATE 表名 SET 字段名1 = 新值1, 字段名2 = 新值2 WHERE 条件;
这将在满足指定条件的行中同时更新多个字段的值。你可以根据需要添加更多的字段和对应的新值。
6.3 使用WHERE子句
使用`WHERE`子句来指定更新的行:
UPDATE 表名 SET 字段名 = 新值 WHERE 条件;
可以使用`WHERE`子句来限制更新操作的行范围。只有满足指定条件的行才会被更新。
七、删除语句
在MySQL中,可以使用DELETE
语句来删除数据表中的记录。以下是一些示例:
7.1 删除表中的所有记录
DELETE FROM 表名;
这将删除指定表中的所有记录,相当于清空表。
7.2 删除满足指定条件的记录
DELETE FROM 表名 WHERE 条件;
这将删除满足指定条件的记录。你可以使用`WHERE`子句来限制要删除的记录范围。
总结
通过本篇博客的学习,您将掌握MySQL数据库的基础操作,从而能够正确地创建和删除数据库、创建和删除表、插入和查询数据,以及进行基本的数据更新和删除操作。这些基础操作是您进一步深入学习和应用MySQL数据库的基础,也是其他进阶操作的基石。希望这篇博客能帮助您快速上手MySQL数据库的基础操作,让您能够更好地管理和操作数据。