目录
一、SQL语句(Structured Query Language)
序言
本篇文章我将带领大家学习SQL语句的相关知识点以及基础命令,并了解到MySQL的一些库表操作,学会怎样查看库、创建库、切换库和删除库。
一、SQL语句(Structured Query Language)
1.1 SQL简介
SQL:结构化查询语句,是在关系型数据库上执行数据操作、数据检索与数据维护的标准化语言,
如果想要使用MySQL数据库,必须学习SQL语句。
管理员可以通过SQL语句完成以下任务:
1,改变数据库的结构
2,更改系统的安全设置
3,增加用户对数据库或者表的许可权限
4,在数据库中检索出所需信息
5,对数据库的信息进行更新、备份、还原
1.2 SQL语句的分类
MySQL致力于支持全套ANSI/ISO SQL标准。
在MySQL数据库中,SQL语句主要可以划分为以下几类:
DDL(Data Definition Language): 数据定义语言。定义对数据库对象(库、表、列、索引)的操作。
关键字:CREATE、DROP、ALTER、RENAME等。
DML(Data Manipulation Language):数据操作语言。定义对数据库记录的操作。
关键字:INSERT、DELETE、UPDATE等。
DCL(Data Control Language):数据控制语言。定义对数据库、表、字段、用户的访问权限和安全级别。
关键字:GRANT、REVOKE等。
DQL(Data Query Language):数据查询语言。检索并获取数据。
关键字: SELECT。
1.3 SQL语句的书写规范
SQL语句不区分大小写(建议用大写) 。
字符串常量区分大小写。
SQL语句支持单行||多行书写,但必须以;结尾。
关键字||词汇不能跨行书写。
支持空格或缩进以提升语句的可读性。
子语句通畅位于独立行,便于编辑,提高可读性。
二、数据库操作
2.1 查看库
SHOW DATABASES [LIKE wild] ;
功能:列出MySQL主机上的数据库
其他查看:
1 查看当前访问的数据库
SELECT DATABASE();
2 查看当前数据库服务器版本
SELECT VERSION();
3 查看当前登录用户
SELECT USER();
4 查看用户详细信息
SELECT User,Host [,PassWord] FROM mysql.user;
2.2 创建库
创建个人数据库:
语法 CREATE DATABASE IF NOT EXISTS 数据库名;
CREATE DATABASE IF NOT EXISTS MySchool_db;
数据库是由表、视图、函数、查询、备份所构成,其中最主要的部分是表
2.3 切换库
使用USE 关键字进行切换 语法 : USE 数据库名;
作用:指定数据库为我们的默认数据库,用于后期建表或其他使用。
2.4 删除库
DROP DATABASE [IF EXISTS] 数据库名;
功能:删除当前数据库
三、MySQL字符集
3.1 MySQL字符集的分类
MySQL字符集包括 基字符集(CHARACTER) && 校对规则 (COLLATION)这两个概念:
latin1支持西欧字符、希腊字符等
gbk支持中文简体字符
big5支持中文繁体字符
utf8几乎支持世界所有国家的字符。
utf8mb4是真正意义上的utf-8
可以使用命令 SHOW VARIABLES like 'character%'; 查看当前数据库默认的字符集
character_set_client MySQL 客户机字符集。
character_set_connection 数据通信链路字符集,当MySQL客户机向服务器发送请求时,请
求数据以该字符集进行编码。
character_set_database 数据库字符集。
3.2 UTF8和UTF8MB4的区别(补充)
MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode。好在utf8mb4是utf8的超集,除了将编码改为utf8mb4外不需要做其他转换。当然,为了节省空间,一般情况下使用utf8也就够了。
既然utf8能够存下大部分中文汉字,那为什么还要使用utf8mb4呢? 原来mysql支持的 utf8 编码最大字符长度为 3 字节,如果遇到 4 字节的宽字符就会插入异常了。三个字节的 UTF-8 最大能编码的 Unicode 字符是 0xffff,也就是 Unicode 中的基本多文种平面(BMP)。也就是说,任何不在基本多文本平面的 Unicode字符,都无法使用 Mysql 的 utf8 字符集存储。包括 Emoji 表情(Emoji 是一种特殊的 Unicode 编码,常见于 ios 和 android 手机上),和很多不常用的汉字,以及任何新增的 Unicode 字符,如表情等等(utf8的缺点)。