
目录
🌈嗨!我是Filotimo__🌈。很高兴与大家相识,希望我的博客能对你有所帮助。
💡本文由Filotimo__✍️原创,首发于CSDN📚。
📣如需转载,请事先与我联系以获得授权⚠️。
🎁欢迎大家给我点赞👍、收藏⭐️,并在留言区📝与我互动,这些都是我前进的动力!
🌟我的格言:森林草木都有自己认为对的角度🌟。

在这篇博客中,我将介绍MySQL数据库的基础操作。MySQL是一个开源的关系型数据库管理系统,被广泛用于各种类型的应用程序开发和数据存储。无论您是初学者还是有一定经验的开发者,了解MySQL的基础操作对于正确和高效地管理和操作数据库都是至关重要的。
本篇博客的重点在于介绍MySQL的以下几个方面:创建数据库、创建数据表、数据库操作。详细内容请看正文。
这是本篇文章的脉络图:

这里不介绍数据库的安装。装好数据库后,使用cmd命令行连接。
示例代码:
mysql -h(主机地址) -u root(用户名) -p(指定密码)
注意:
在自己电脑上登陆可以不加-h参数。若你不想让人看到登录密码,可以只输入-p,然后在出现的Enter password中输入密码(密码会呈现*号)。-p:如果登陆密码为空,可以忽略。
我的截图:

可以使用`CREATE DATABASE`(不区分大小写)语句来创建一个新的数据库。
示例代码:
CREATE DATABASE 新的数据库名称;
注意:
sql语句一定要以英文分号结尾;create database是MySQL的关键字不能打错或者遗漏;数据库名不能空格,否则会报错;数据库的名称不能以数字开头。
运行截图:

使用`drop database`语句来删除之前创建的一个数据库。
示例代码:
drop database 数据库名;
use 数据库名;
运行截图:

- CREATE TABLE 表名 (属性名 数据类型 完整性约束条件,
- 属性名 数据类型 完整性约束条件,
- 属性名 数据类型 );
数据类型和约束条件的内容可以参考我的上一篇博客
【MySQL数据库】基础理论知识总结_Filotimo_的博客-CSDN博客
我的截图(创建了一个students表):

使用`INSERT INTO`语句插入数据。
示例代码:
- INSERT INTO table_name (column1, column2, ...)
- VALUES (value1, value2, ...);
在这里,table_name是要插入数据的数据表的名称。column1, column2, ...是要插入数据的列名。value1, value2, ...是要插入的数据值。

select * from 表名;

(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`(字符集)这两列信息。
使用`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 列用于添加其他备注信息。
可以使用ALTER TABLE语句中的RENAME关键字修改表名。
要修改表中某个字段的数据类型,可以使用`ALTER TABLE`语句中的`MODIFY`关键字。
示例代码:
Alter table 表名 modify 属性名 数据类型;
在这里,`表名`是要修改字段的表名,`属性名`是要修改的字段名,`新数据类型`是要将字段修改为的新数据类型。
要修改表中某个字段的名称和数据类型,可以使用`ALTER TABLE`语句中的`CHANGE`关键字。
示例代码:
ALTER TABLE 表名 CHANGE 旧属性名 新属性名 新数据类型;
在这里,`表名`是要修改字段的表名,`旧属性名`是要修改的字段的旧名称,`新属性名`是要将字段修改为的新名称,`新数据类型`是要将字段修改为的新数据类型。
要在表中添加新的字段,可以使用`ALTER TABLE`语句中的`ADD`关键字。
示例代码:
ALTER TABLE 表名 ADD 属性名 数据类型 [完整性约束条件];
在这里,`表名`是要添加字段的表名,`属性名`是新字段的名称,`数据类型`是新字段的数据类型,`完整性约束条件`是可选的,用于定义字段的约束条件。
要删除表中的字段,可以使用`ALTER TABLE`语句中的`DROP`关键字。
示例代码:
Alter table 表名 drop 属性名 ;
在这里,`表名`是要删除字段的表名,`属性名`是要删除的字段名。
取出表中所有列:
SELECT * FROM 表名;
这将返回表中的所有列和行,其中`表名`是要查询的表的名称。
取出指定列名的数据:
SELECT 列名1, 列名2 FROM 表名;
这将返回表中指定列名的数据,其中`列名1`和`列名2`是您要查询的列的名称,`表名`是要查询的表的名称。
使用WHERE子句设定查询条件:
SELECT 列名 FROM 表名 WHERE 条件;
这将根据指定的条件返回满足条件的数据集,其中`列名`是要查询的列的名称,`表名`是要查询的表的名称,`条件`是要设置的查询条件。
说明:where子句类似于程序语言中的if条件,根据mysql表中的字段值来读取指定的数据。 where的字符串比较是不区分大小写的。 可以使用where binary关键字来设定where子句的字符串比较区分大小写。
使用多表查询:
SELECT 列名 FROM 表名1, 表名2 WHERE 条件;
这将从多个表中检索数据,并根据指定的条件进行联接操作。你可以通过使用逗号将多个表名分隔开来,然后使用`WHERE`语句指定联接条件。
使用通配符(*)检索所有字段数据:
SELECT * FROM 表名;
这将返回表的所有字段数据,而不需要指定具体的列名。
在MySQL中,可以使用`UPDATE`命令来修改或更新数据。以下是一些`UPDATE`命令的示例:
UPDATE 表名 SET 字段名 = 新值 WHERE 条件;
这将在满足指定条件的行中更新指定字段的值。其中,`表名`是要更新数据的表名,`字段名`是要更新的字段名,`新值`是字段的新值,`条件`是要更新的行的条件。
同时更新多个字段的值:
UPDATE 表名 SET 字段名1 = 新值1, 字段名2 = 新值2 WHERE 条件;
这将在满足指定条件的行中同时更新多个字段的值。你可以根据需要添加更多的字段和对应的新值。
使用`WHERE`子句来指定更新的行:
UPDATE 表名 SET 字段名 = 新值 WHERE 条件;
可以使用`WHERE`子句来限制更新操作的行范围。只有满足指定条件的行才会被更新。
在MySQL中,可以使用DELETE语句来删除数据表中的记录。以下是一些示例:
DELETE FROM 表名;
这将删除指定表中的所有记录,相当于清空表。
DELETE FROM 表名 WHERE 条件;
这将删除满足指定条件的记录。你可以使用`WHERE`子句来限制要删除的记录范围。