MySQL数据库采用SQL语言对数据进行操作和管理。SQL即结构化查询语言(Structured Query Language),是用于操作关系型数据库的标准编程语言。SQL提供了一种与数据库交互的方式,可以用于查询、插入、更新和删除数据库中的数据。
1、SQL通用语法
(1)以分号结束
SQL语句可以单行或多行书写,以英文分号“;”结尾,也就是以英文分号作为每一条命令的结束。并且可以使用空格和缩进来增加语句的可读性,空格和缩进不会影响SQL语句的执行结果,但可以使代码更加整洁和易于理解。例如:
-- 单行SQL语句
SELECT column1, column2 FROM table_name WHERE conditions;
-- 多行SQL语句
SELECT column1,
column2
FROM table_name
WHERE conditions;
这里需要注意的是,SQL语句中所有的标点符号必须是英文状态下半角输入方式下输入的。
(2)不区分大小写
在MySQL数据库中,SQL语句是不区分大小写的。然而,建议使用大写字母来书写关键字,以便更容易区分关键字和其他部分。
(3)使用注释
SQL语句与编程语言类似,可以使用注释来解释代码或者提供其他相关信息。在SQL语句中,包括两种类型的注释:
一、单行注释:使用两个连续的破折号“--”或者井号“#”来标记单行注释,后面注释的内容不会对程序产生任何影响。例如:
-- 这是一个单行注释
SELECT * FROM table_name;
# 这也是一个单行注释
SELECT * FROM table_name;
二、多行注释:使用“/”和“/”来分别标记多行注释的开始和结束。在这种注释中间的内容不会对程序产生任何影响,可以跨越多行。
/*
这是一个
多行注释
*/
SELECT * FROM table_name;
2、创建自己的数据库
我们可以使用“create database”命令创建数据库,这是MySQL数据库最基本的命令,创建数据库的语法如下:
create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ] ;
[if not exists]:这是一个可选的子句。如果您加上它,那么如果数据库已经存在,命令将不会产生错误。反之,如果不加这个子句,而相同名称的数据库已经存在,结果会报错。
数据库名:这是您想要创建的数据库的名称,数据库名必须是唯一的,不能和其它数据库重名。
[default charset 字符集]:这也是一个可选的子句。您可以用它来指定数据库的默认字符集。
[collate 排序规则]:这是另一个可选的子句。它用于指定数据库的默认排序规则。例如,如果您想要使用“utf8_general_ci”排序规则,您可以这样写:create database mydatabase collate utf8_general_ci;
在上一节教程中,已经介绍了如何安装MySQL数据库,安装完成后,现在我们点击电脑左下角的Windows开始按钮,找到安装好的MySQL数据库,点击“MySQL 8.0 Command Line Client-Unicode”,输入密码后登录MySQL。
接下来,在黑色的命令行工具中,输入命令“create database if not exists pyhint;”后按下Enter回车键,即可创建一个名为“pyhint”的数据库。例如:
create database if not exists pyhint;
# 输出结果:
Query OK, 1 row affected (0.02 sec)
在命名数据库时,建议遵循一定的命名规范,使用有意义的名称,避免使用特殊字符和关键字。
3、查询所有数据库
现在我们在命令行工具中再次输入“show databases;”,就可以查看所有的数据库,包括我们刚创建的“pyhint”数据库。例如:
show databases;
# 输出结果:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| pyhint |
| sys |
| test |
+--------------------+
6 rows in set (0.03 sec)
从执行的结果可以看出,除了我们刚创建的“pyhint”数据库和上一节教程中创建的“test”数据库,还包括information_schema、mysql、performance_schema和sys这四个数据库,它们是数据库默认自带的,不需要用户进行额外的安装,用户可以直接使用这些数据库中的表和视图。
4、删除数据库
可以使用“drop database 数据库名;”删除指定数据库。这里需要注意的是,执行删除数据库命令后,数据库里面所有的数据都会消失,删除数据库过程中,务必要十分谨慎。例如:
动手练一练:
drop database test;
# 输出结果:
Query OK, 2 rows affected (0.03 sec)
5、切换数据库
当我们要操作某一个数据库下的表时,就需要通过“use 数据库名;”指令,切换到对应的数据库下,否则是不能操作数据库的。例如:
use pyhint;
# 输出结果:
Database changed
使用完“use pyhint;”语句之后,如果接下来的SQL都是针对“pyhint”这个数据库操作的,那就不用重复再使用“use”语句了,如果要针对另一个数据库操作,那么要重新使用“use”语句。
6、常见的数据库指令
命令 | 作用 |
---|---|
create databases 数据库名称; | 创建数据库 |
drop database 数据库名; | 删除数据库 |
show databases; | 显示所有数据库 |
show tables; | 显示当前数据库所有表 |
alter database 数据库名 default character set 字符集名称; | 更改数据库字符集 |