MySQL数据库操作语言
文章目录
- MySQL数据库操作语言
-
- `前言`
- 1.SQL 基本操作语言有哪些?
- 2.DDL 数据定义语言[^DDL]
- 3.DML 数据操作语言[^DMl]
- 4.DQL 数据查询语言[^DQL]
- 5.DCL[^DCL]
前言
在学习具体的SQL语句之前,先来了解通用语法.
- SQL可以 单行或多行 书写,已 分号 结尾.
- SQL语句可以使 用空格/缩进 来增强语句的可读性.
- MYSQL数据库操作语言不区分大小写,关键字 建议使用大写
- 注释:
- 单行注释: – 注释内容 或 # 注释内容
- 多行注释: /* 装饰内容 */
1.SQL 基本操作语言有哪些?
分类 | 全称 | 说明 |
---|---|---|
DDL | Data Definition Language | 数据定义语言,用来定义数据库对象(数据库,表,字段) |
DML | Data Manipulation Language | 数据操作语言,用来对数据库表中的数据进行增删改 |
DQL | Data Query Language | 数据查询语言,用来查询数据库中表单记录 |
DCL | Data Control Language | 数据控制语言,用来创建数据库用户,控制数据库的访问权限 |
2.DDL 数据定义语言1
使用系统cmd自带的命令行工具执行指令链接MySQL客户端
mysql [-h 127.0.0.1] -[P 3306] -u root -p[]
参数:
-h: MySQL服务所在的主机IP
-P:MySQL服务端口号,默认3306
-u:MySQL数据库用户名
-p:MySQL数据库用户对应的密码
[]内为可选参数,如果连接远程的MySQL,需要加上这两个参数来指定远程主机IP,端口,如果连接本地的MySQL,则无需指定这两个参数
以下以为连接本地和远程 mysql客户端为例 分别演示:
连接远程 mysql
2.1.0 数据库操作
2.1.1查询所有数据库(+s)
show databases;
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.02 sec)
mysql>
2.1.2查询当前数据库
select database();
mysql> select database();
+------------+
| database() |
+------------+
| NULL |
+------------+
1 row in set (0.02 sec)
mysql>
2.1.3创建数据库
create database [ if not exists ] 数据库名 [ default charset 字符集 ] [ collate 排序规则 ] ;
案例1:创建一个 pisa 数据库使用数据库的默认的字符集.
create database pisa;
mysql> create database pisa;
Query OK, 1 row affected (0.10 sec)
mysql>
在同一个数据库服务器中,不能创建两个名称相同的数据库,否则将会报错。
mysql> create database pisa;
ERROR 1007 (HY000): Can't create database 'pisa'; database exists
mysql>
可以通过if not exists 参数来解决这个问题,数据库不存在, 则创建该数据库,如果存在,则不创建。
create database if not extists pisa;
mysql> create database if not extists pisa;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'extists pisa' at line 1
mysql>
案例二.创建一个 nailao 数据库,并且指定字符集
create database nailao charset utf8mb4;
mysql> create database nailao charset utf8mb4;
Query OK, 1 row affected (0.03 sec)
mysql>
2.1.4.删除数据库
drop database [if exists] 数据库名;
mysql> drop database if exists nailao;
Query OK, 0 rows affected (0.15 sec)
mysql>
2.1.5.切换数据库
use 数据库名;
当我们要操作某一个数据库下的表的时候,尤为重要,否则就会发生错误 😈