第3章 SQL语句
讲SQL语句之前,先来讲一下
数据库管理系统、数据库和表的关系
数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中表内的数据
数据库管理程序(DBMS)可以管理多个数据库,一般开发人员会针对每一个应用创建一个数据库。为保存应用中实体的数据,一般会在数据库创建多个表,以保存程序中实体的数据。数据库管理系统、数据库和表的关系如图所示:
先有数据库 → 再有表 → 再有数据
一个库包含多个表
3.1 SQL的概念
3.1.1 什么是SQL
结构化查询语言(Structured Query Language)简称SQL,SQL语句就是对数据库进行操作的一种语言。
3.1.2 SQL作用
通过SQL语句我们可以方便的操作数据库中的数据库、表、数据。
SQL是数据库管理系统都需要遵循的规范。不同的数据库生产厂商都支持SQL语句,但都有特有内容。
3.1.3 SQL语句分类
-
DDL(Data Definition Language)数据定义语言
用来定义数据库对象:数据库,表,列等。关键字:create, drop,alter等 -
DML(Data Manipulation Language)数据操作语言
用来对数据库中表的数据进行增删改。关键字:insert, delete, update等 -
DQL(Data Query Language)数据查询语言
用来查询数据库中表的记录(数据)。关键字:select, where等 -
DCL(Data Control Language)数据控制语言(了解)
用来定义数据库的访问权限和安全级别,及创建用户。关键字:GRANT, REVOKE等
3.2 SQL通用语法
-
SQL语句可以单行或多行书写,以分号结尾。
-
可使用空格和缩进来增强语句的可读性。
-
MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
SELECT * FROM student;
select * from student;
SELECT * from student;
3.3 DDL语句
DDL(Data Definition Language)数据定义语言
用来定义数据库对象:数据库,表,列等
关键字:create, drop,alter等
3.3.1 DDL操作数据库
3.3.1.1 创建数据库
- 直接创建数据库
CREATE DATABASE 数据库名;
- 判断是否存在并创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名;
- 创建数据库并指定字符集(编码表)
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
- 具体操作:
- 直接创建数据库db1
CREATE DATABASE db1;
- 判断是否存在并创建数据库db2
CREATE DATABASE IF NOT EXISTS db2;
- 创建数据库并指定字符集为gbk
CREATE DATABASE db3 CHARACTER SET gbk;
3.3.1.2 查看数据库
- 查看所有的数据库:
SHOW DATABASES;
- 查看某个数据库的定义信息:
SHOW CREATE DATABASE 数据库名;
3.3.1.3 修改数据库
修改数据库字符集格式
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
具体操作:
- 将db3数据库的字符集改成utf8
ALTER DATABASE db3 DEFAULT CHARACTER SET utf8;
3.3.1.4 删除数据库
DROP DATABASE 数据库名;
具体操作:
- 删除db2数据库
DROP DATABASE db2;
3.3.1.5 使用数据库
-
查看正在使用的数据库
SELECT DATABASE();
-
使用/切换数据库
USE 数据库名;
具体操作:
-
查看正在使用的数据库
SELECT DATABASE();
-
使用db1数据库
USE db1;