前言
从今天开始, 健哥就带各位小伙伴学习数据库技术。数据库技术是Java开发中必不可少的一部分知识内容。也是非常重要的技术。本系列教程由浅入深, 全面讲解数据库体系。 非常适合零基础的小伙伴来学习。
------------------------------前戏已做完,精彩即开始----------------------------
全文大约【2012】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......
一. SQL语句介绍和分类
1. 什么是SQL语句
结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;SQL语句就是对数据库进行操作的一种语言。
2. SQL语句分类
SQL语句的五种分类分别是DQL、DML、DDL、TCL和TCL,下面对SQL语句的五种分类进行列举:
- 数据库查询语言(DQL):Query Language(简称DQL),就是用来对数据库中数据进行查询的语句语法。数据查询语言DQL基本结构是由SELECT子句,FROM子句,WHERE 子句组成的查询块。
- 数据库操作语言(DML):Data Manipulation Language(简称DML)就是用来对数据库中数据增删改的语句语法。用户通过它可以实现对数据库的基本操作。代表关键字为insert、delete 、update。
- 数据库定义语言(DDL):Data Denifition Language(简称DDL)就是用来操作数据库以及表结构的语句语法。数据定义语言DDL用来创建数据库中的各种对象,创建、删除、修改表的结构,比如表、视图、索引、同义词、聚簇等。代表关键字为create、drop、alter。和DML相比,DML是修改表中的数据,而 DDL 是修改表的结构。
- 事务控制语言(TCL):Trasactional Control Languag(简称:TCL)就是用来控制数据库事务的语句语法。代表关键字为commit、rollback。
- 数据控制语言(DCL):Data Control Language(简称:DCL)就是用来控制数据库操作权限的语句语法。数据控制语言DCL用来授予或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,对数据库实行监视等。代表关键字为grant、revoke。
二. SQL语句基本语法
下面健哥给各位小伙伴介绍下SQL语句的基本语法, 语法就是规范,听过SQL语法我们来操作数据库。如果语法写错了则无法执行,就会报错哦。语法规则如下:
- SQL语句可以单行或者多行书写,以分号结尾。
- MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
- 注释:
- 单行注释:-- 注释内容 或 #注释内容(MySQL独有)
- 多杭注释:/* 注释内容*/
三. 数据库操作命令
1. 查看MySQL中所有数据库
mysql> SHOW DATABASES; #显示当前MySQL中包含的所有数据库
数据库名称 | 描述 |
information_schema | 信息数据库,其中保存着关于所有数据库的信息(元数据)。 元数据是关于数据的数据,如数据库名或表名,列的数据类型,或访问权限等。 |
mysql | 核心数据库,主要负责存储数据库的用户、权限设置、关键字等, 以及需要使用的控制和管理信息,不可以删除。 |
performance_schema | 性能优化的数据库,MySQL 5.5版本中新增的一个性能优化的引擎。 |
sys | 系统数据库,MySQL5.7版本中新增的可以快速的了解元数据信息的系统库 便于发现数据库的多样信息,解决性能瓶颈问题。 |
2. 创建自定义数据库
接下来健哥带各位小伙伴一起演练一番, 下面就是演示创建数据库的SQL语句:
mysql> CREATE DATABASE mydb1; #创建mydb1数据库
mysql> CREATE DATABASE mydb2 CHARACTER SET utf8; #创建数据库并设置编码格式为utf8
mysql> CREATE DATABASE IF NOT EXISTS mydb4; #如果mydb4数据库不存在,则创建;如果存在,则不创建。
3. 查看数据库创建信息
数据库创建完, 我们还可以查看数据库的信息, 包括数据库的字符集是否正确:
mysql> SHOW CREATE DATABASE mydb2; #查看创建数据库时的基本信息
输出结果 :
结果显示了数据库的字符集。一般我们都创建utf8字符集的数据库,否则中文可能乱码哦!!!
4. 修改数据库
下面是健哥更改数据库的字符集SQL语句
mysql> ALTER DATABASE mydb2 CHARACTER SET gbk; #修改数据库字符集为gbk
5. 删除数据库
mysql> DROP DATABASE mydb1; #删除数据库mydb1
6. 查看当前所使用的数据库
当前我们在哪个数据库中呢?可以通过下面语句进行查看:
mysql> select database(); #查看当前使用的数据库
7. 使用数据库
如果要想执行增删改查的SQL语句需要指定使用的数据库, 可以通过下面语句指定使用的数据库:
mysql> USE mydb2; #使用mydb2数据库
------------------------------正片已结束,来根事后烟----------------------------
四. 结语
健哥在这里对本文核心要点进行总结:
- 了解什么是SQL语句, SQL语句是操作数据库的一种语言。
- 记住SQL语句的分类, 一共五大类:DDL数据库定义语言, DML数据库操作语言, DQL数据库查询语言, TCL事务控制语言, DCL数据控制语言。其中DML, DQL是我们Java程序员学习的重点,DDL是次重点。
- 记住并熟练操作DDL语句,创建数据库,查询当前使用的数据库以及使用指定的数据库语句是重点。
六. 今日作业
1. 第一题
创建数据库名字为shenshou, 字符集为utf8
2. 第二题
修改shenshou库的字符集为utf8,查看当前正在使用的数据库,如果没有使用的库, 则使用shenshou库。
3. 第三题
删除shenshou数据库