1、分类
- SQL(Structured Query Language,结构化查询语言)用于访问处理关系数据库管理系统(RDBMS)的应用语言, 与数据直接打交道。
- SQL语言在功能上主要分为:
1、 DDL(Data Definition Languages,数据定义语言)
- 用于定义数据库、表、视图、索引等数据库对象,还可以用来创建、删除、修改数据库和数据表的结构。
- 主要的语句关键字包括:
- CREATE语句主要用于创建数据库、创建表、创建视图。
- ALTER语句主要用于修改表的定义,修改视图的定义。
- DROP语句主要用于删除数据库、删除表和删除视图等。
2、 DML(Data Manipulation Language,数据操作语言)
- 用于添加、删除、更新和查询数据库记录,并检查数据完整性。主要的语句关键字包括INSERT 、DELETE 、UPDATE 、SELECT 等。
3、DQL(Data Query Language,数据查询语言)
- SELECT是SQL语言的基础,最为重要:DQL(数据查询语言)。
4、 DCL(Data Control Language,数据控制语言)
- 用于定义数据库、表、字段、用户的访问权限和安全级别。
- 主要的语句关键字包括GRANT 、REVOKE 、COMMIT 、ROLLBACK 、SAVEPOINT 等。
2、规则
- SQL 可以写在一行或者多行。为了提高可读性,各子句分行写,必要时使用缩进。
- 每条命令以 ; 或 \g 或 \G 结束。
- 大小写规范
MySQL 在 Windows 环境下是大小写不敏感的
MySQL 在 Linux 环境下是大小写敏感的
推荐采用统一的书写规范:
- 数据库名、表名、表别名、字段名、字段别名等都小写
- SQL 关键字、函数名、绑定变量等都大写
- 注 释
单行注释:#注释文字(MySQL特有的方式)
单行注释:-- 注释文字(–后面必须包含一个空格。)
多行注释:/* 注释文字 */
- 关键字不能被缩写也不能分行
字符串型和日期时间类型的数据可以使用单引号(’ ')表示。
3、MySQL使用
1、MySQL查看所有的数据库
SHOW DATABASES;
四个系统自带数据库
- “information_schema”是 MySQL 系统自带的数据库,主要保存 MySQL 数据库服务器的系统信息,比如数据库的名称、数据表的名称、字段名称、存取权限、数据文件 所在的文件夹和系统使用的文件夹,等等
- “performance_schema”是 MySQL 系统自带的数据库,可以用来监控 MySQL 的各类性能指标。
- “sys”数据库是 MySQL 系统自带的数据库,主要作用是以一种更容易被理解的方式展示 MySQL 数据库服务器的各类性能指标,帮助系统管理员和开发人员监控 MySQL 的技术性能。
- “mysql”数据库保存了 MySQL 数据库服务器运行时需要的系统信息,比如数据文件夹、当前使用的字符集、约束检查信息,等等
2、创建自己的数据库
CREATE DATABASE testdb;
3、使用自己的数据库
SELECT DATABASE(); # NULL
USE testdb;
SELECT DATABASE(); # testdb
- 说明:如果没有使用use语句,后面针对数据库的操作也没有加“数据名”的限定,那么会报“ERROR 1046(3D000): No database selected”(没有选择数据库)
- 使用完use语句之后,如果接下来的SQL都是针对一个数据库操作的,那就不用重复use了,如果要针对另一个数据库操作,那么要重新use。
- 客户端连接MySQL:mysql -uroot -pxxxxx
关闭连接:exit 或 quit - 启动服务
net stop mysql80
net start mysql80 - 登录服务
mysql --version
mysql -uroot -p
mysql -uroot -P13306 -p (P表示port端口号可区分mysql版本)
mysql -uroot -P3306 -hlocalhost -p (h表示host可连接不同服务器的mysql)