一.SQL定义
二.语句分类
1.DDL:数据定义语言
2.DML:数据操作语言
3.DQL:数据查询语言
4.DCL:数据控制语言
5.TCL:事务控制
三.语句注释
1.单行注释
2.多行注释
四.对数据库的基本操作
1.创建数据库
2.查看数据库
3.删除数据库
4.切换数据库
一.SQL定义
SQL称为结构化查询语言,属于关系型数据库,时可以进行数据操作、数据检索以及数据维护的标准语言,有如下功能:
(1)改变库结构
(2)更改系统安全设置
(3)增加用户对数据库或表的权限
(4)在数据库中检索信息
(5)对数据库或表进行信息更新
二.语句分类
注意:在数据库界面内可以使用help命令查询语句帮助信息
1.DDL:数据定义语言
定义对数据库对象(库、表、列、索引)的操作,CREATE创建、DROP删除、ALTER更新替换、RENAME重命名、 TRUNCATE重命名等
2.DML:数据操作语言
定义对数据库记录(一行被称为一条记录)的操作,INSERT插入记录、DELETE删除记录、UPDATE更新记录等
3.DQL:数据查询语言
SELECT语句结构
4.DCL:数据控制语言
定义对数据库、表、字段、用户的访问权限和安全级别,GRANT授权、REVOKE收回权限等。
5.TCL:事务控制
COMMIT提交、ROLLBACK回滚、SAVEPOINT保存等
三.语句注释
1.单行注释
mysql> -- 需要注释的语句;
2.多行注释
mysql> 语句 /*/*> 需要被注释的语句/*> */-> ;
四.对数据库的基本操作
1.创建数据库
create database 名称;
mysql> create database SLB;
Query OK, 1 row affected (0.00 sec)mysql> show create database SLB; --查看创建数据库
+----------+----------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database |
+----------+----------------------------------------------------------------------------------------------------------------------------------+
| SLB | CREATE DATABASE `SLB` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+----------------------------------------------------------------------------------------------------------------------------------+
2.查看数据库
show databases; 查看本机所有数据库
可以配合like和匹配符一起使用
(1)show databases like '_'; '_'表示单个任意字符,一个下划线表示一个字符,可以在前面或后面添加字符表示以某字符开头或结尾的共几个字符的数据库
mysql> show databases like 'S__';
+----------------+
| Database (S__) |
+----------------+
| SLB |
+----------------+
1 row in set (0.00 sec)
(2)show databases like '%'; ‘%’表示匹配任意0个或多个任意字符,单独使用%表示匹配所有的数据库
mysql> show databases like '%';
+--------------------+
| Database (%) |
+--------------------+
| SLB |
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.00 sec)mysql> show databases like 's%';
+---------------+
| Database (s%) |
+---------------+
| sys |
+---------------+
1 row in set (0.00 sec)
(3)show databeses like '__%';
示例表示匹配第三个字符是s的数据库0次或多次
mysql> show databases like '__B%';
+-----------------+
| Database (__B%) |
+-----------------+
| SLB |
+-----------------+
1 row in set (0.00 sec)
(4)几个默认自带数据库
Information_schema:存储了系统中的一些数据库对象信息:用户表信息、列信息、权限信息、字符集信息、分区信息等。
performance_schema:存储数据库服务器的性能参数。
mysql:存储了系统的用户权限信息及帮助信息。
sys: 通过视图的形式把information_schema和performance_schema结合起来,查询出更加令人容易理解的数据。
test:系统自动创建的测试数据库,任何用户都可以使用。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
| test |
+--------------------+
3.删除数据库
drop database 名称;表示删除数据库和数据库中的表
4.切换数据库
use 数据库名;
设置提示符显示当前数据库名称
[root@redhat9-1 ~]# vim /etc/my.cnf
[mysql]
prompt=mysql8.0 [\\d]>
#添加以上内容后重启
[root@redhat9-1 ~]# systemctl restart mysqld
mysql8.0 [(none)]>
mysql8.0 [(none)]>use SLB;
Database changed
mysql8.0 [SLB]>
mysql8.0 [SLB]>
mysql8.0 [SLB]>