-->

signed

QiShunwang

“诚信为本、客户至上”

SQL初识和分类(概述版)

2021/6/3 13:58:30   来源:

一、SQL 初识

1、什么是 SQL

结构化查询语言(Structured Query Language) 简称 SQLSQL 是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。SQL 的 作用 其实就是 定义了操作所有关系型数据库的规则 。但是每一种数据库操作的方式存在不一样的地方,称为 “方言”

2、SQL 特点与注释

SQL 特点如下:

  • 1、SQL 语句可以单行或多行书写,以分号结尾。
  • 2、可使用空格和缩进来增强语句的可读性。
  • 3、MySQL 数据库的 SQL 语句不区分大小写,关键字建议使用大写。

SQL 有 3 种注释,具体如下:

  • 1、单行注释: – 注释内容 【-- 后面有一个空格,没有会出错】
  • 2、单行注释: # 注释内容( mysql 特有) 【#后面可以没有空格】
  • 3、多行注释: /* 注释内容,和 Java 多行注释一样 */
SELECT * FROM mysql.user;    -- 单行注释

SELECT * FROM mysql.user;    # 单行注释 ( mysql 特有)

SELECT * FROM mysql.user;    /* 多行注释 */

3、SQL-小白基础命令

/*
 * DDL 命令操作数据库
 */

-- 查询数据库
show databases;                          # 查看所有数据库
show create database mysql;              # 查看 mysql 数据库的创建语句,其实主要目的是查看数据库的字符集

-- 创建数据库
create database db01;                    # 创建 db01 数据库,默认字符集是 utf8
create database if not exists db01;      # 判断 db01 数据库是否存在,存在就不创建了,不存在就创建
create database db02 character set gbk;  # 创建 db02 数据库并指定 gbk 字符集

-- 修改和删除数据库
alter database db02 character set utf8;  # 修改 db02 数据库的字符集为 utf8
drop database db02;                      # 删除 db02 数据库,如果不存在这个数据库,会报错
drop database if exists db02;            # 如果存在 db02 数据库,则删除数据库,不存在,不会报错

-- 使用数据库
select database();                       # 查询当前正在使用的数据库名称
use db02;                                # 使用 db02 数据库
use book-system;                         # 这样写会报 1064 错误,正确写法: use `book-system`;
/*
 * DDL 命令操作数据表
 */
 
-- 查询数据表
show tables;                             # 查询当前数据库的所有表
show create table stu_tbl;               # 查看 stu_tbl 数据表的字符集
desc book_tbl;                           # 查询 book_tbl 表结构,desc 是 description 的缩写

-- 创建和复制数据表
create table stu_tbl(                    # 创建一张名为 stu_tbl 的数据表
    stu_id int,                          # id 字段为第一列,以下以此类推, 字段类型为 int
    stu_name varchar(128),               # name 字段为第二列,字段类型为 varchar ,最多可放 128 个字符
    stu_age int, 
    stu_birthday date,                   # date 类型,只包含年月日,yyyy-MM-dd ;datetime 类型,包含年月日时分秒 yyyy-MM-dd HH:mm:ss ; timestamp 类型,包含年月日时分秒,yyyy-MM-dd HH:mm:ss ,如果没有给此类型赋值,那么它的值就是系统当前的时间,而不是 null
    stu_address varchar(128)             # 这是最后一个字段,它的后面没有逗号
);
create table student_tbl like stu_tbl;   # 复制一张和 stu_tbl 一样的表,名字为 student_tbl

-- 删除数据表
drop table stu_tbl;                      # 删除 stu_tbl 数据表,如果不存在这个数据表,会报错
drop table if exists stu_tbl;            # 如果存在 stu_tbl 数据表,则删除数据表,不存在,不会报错
drop table stu_tbl1,stu_tbl2,stu_tbl3;   # 同时删除 stu_tbl1,stu_tbl2,stu_tbl3 三张数据表

-- 修改数据表
alter table stu_tbl rename to stu;            # 把 stu_tbl 数据表重命名为 stu
alter table stu_tbl character set gbk;        # 把 stu_tbl 数据表的字符集修改为 gbk
alter table stu_tbl add gender varchar(32);   # 给 stu_tbl 数据表添加 gender 字段,数据类型为 varchar。就是新增了 gender 这么一列
alter table stu_tbl change gender sex int;    # 把 stu_tbl 数据表的 gender 列改名为 sex 列,并且修改了数据类型为 int
alter table stu_tbl modify gender int;        # 把 stu_tbl 数据表的 gender 列的数据类型修改为了 int
alter table stu_tbl drop gender;              # 把 stu_tbl 数据表的 gender 列删除

二:SQL 的四种分类

我将以图的方式对下述 四种 SQL 分类 进行介绍,请看下图:

在这里插入图片描述

1、DDL-数据定义语言

DDL 概念: 数据定义语言【DDL】是 (Data Definition Language) 的缩写形式。用来定义和操作数据库对象。例如:数据库,表,列等。相关关键字: create , drop , alter 等。

# 介绍一下 CRUD 操作,即我们常说的增删改查操作:
1、C(Create):      创建
2、R(Retrieve):   查询
3、U(Update):      修改
3、D(Delete):      删除

当我们安装完 MySQL 后,系统自带了 4 个数据库。都代表什么呢。相关的介绍如下图:

在这里插入图片描述

DDL-命令初识

DFS

DDL-命令实操

接下来介绍 创建数据库指定字符集 相关的操作,如下图:
在这里插入图片描述

TIPS: 操作数据库的其他命令就不再一个一个地演示了,详情看上方的 SQL-小白基础命令 自行练习。

接着我们介绍 创建数据表和查询数据表 操作,首先认识 SQL 的数据类型,如下图:

在这里插入图片描述

然后我们再来 创建表和查询表 ,操作如下图:

在这里插入图片描述

在这里插入图片描述

操作数据表的其他命令 就不再一个一个地演示了,详情看上方的 SQL-小白基础命令 自行练习。

2、DML-

3、DQL-

4、DCL-