文章目录

  • 0 SQL
  • 1 SQL通用语法
  • 2 SQL分类
    • 2.1 DDL语句
      • 2.1.1 DDL数据库操作
      • 2.1.2 DDL表操作
      • 2.1.3 DDL表操作数据类型

0 SQL

  • SQL通用语法
  • SQL分类
  • DDL
  • DML
  • DOL
  • DCL

1 SQL通用语法

  1. SQL语句可以单行或多行书写,以分号结尾。
  2. SQL语句可以使用空格/缩进来增强语句的可读性。
  3. MySQL数据库的SQL语句不区分大小写,关键字建议使用大写。
  4. 注释:分为单行注释以及多行注释
  • 单行注释:- -注释内容或 # 注释内容(MySQL特有)
  • 多行注释:/*注释内容*/

2 SQL分类

SQL语句,根据其功能,主要分为四类:DDL、DML、DQL、DCL。

2.1 DDL语句

数据定义语言,用来定义数据库对象(数据库、表、字段)。

2.1.1 DDL数据库操作

  1. 查询所有数据库show databases;


  1. 查询当前数据库select database();

假如当前执行了很多条SQL语句,我已经忘记了这是哪一个数据库,那么该怎么进行查询?使用select database();

记住,一定要加上括号(),要不然会报错


  1. 创建数据库create database [if not exists] 数据库名 [default charset 字符集] [collate 排序规则];,字符集例如 U T F − 8 UTF-8 UTF8

只要看到 Q u e r y O K Query OK QueryOK的字样,就说明数据库创建成功


再用show databases;查看是否存在刚刚创建的数据库,如下图,数据库创建成功


假如这时候再执行create database itcast;语句,还是否会创建成功?答案是不会的,报错了,不能创建同名的


若想不报错,并且达到已存在的数据库就不创建,不存在的数据库就创建的这种效果的话,就在之后的语句当中加一句if not exists,总语句即为create database if not exists itcast;如下,因为 i t c a s t itcast itcast 已经存在,但是不会报错了。



假如是创建 t e s t test test,因为 t e s t test test 不存在,所以就会多出一个新建好的 t e s t test test 数据库。


假如创建数据库的时候设置字符集,在mysql当中设置字符集不建议使用 u t f 8 utf8 utf8,因为 u t f 8 utf8 utf8 就是 3 3 3 个字节,但是一些特殊的字符有的占了 4 4 4 个字节,这个时候推荐使用utf8mb4;create database itheima default charset utf8mb4;


可以看到已经成功创建 i t h e i m a itheima itheima 数据库


  1. 删除drop database [if exists] 数据库名if exists表示如果存在就删除

举个例子,将先前创建的 t e s t test test 数据库删除,drop database test;



发现test数据库已经被删除了,若再执行相同指令,就会报错,如果不想报错,就加入if exists


  1. 切换数据库use 数据库名;

比如现在要使用itcast数据库,直接use itcast;


想用哪个就切换到哪个数据库


2.1.2 DDL表操作

  1. 查询当前数据库的所有表,先要使用use 数据库名;指定一个数据库,之后再进行查询,show tables;


当前数据库是 i t h e i m a itheima itheima,此时没有表结构存在,切换到 s y s sys sys 数据库当中,寻找表结构。


发现有很多表结构


  1. 查询表结构,desc 表名;
  2. 查询指定的建表语句,show create table 表名;
  3. 表结构的创建,

注意:[···]内为可选参数,最后一个字段后面没有逗号。

不要在系统库里执行任意的操作。


最后一个字段,不要加逗号,直接回车。



此时,一个用户表就创建完毕了。
怎么去验证呢?使用show tables;进行验证。


看到了这个表,想知道这个表里有什么字段以及字段类型?使用desc 表名;


但是姓名性别等信息没有完全展示出来,要想完全展示出来可以使用show create table 表名;


此为创建表的 S Q L SQL SQL 语句。但是最后一句, E N G I N E ENGINE ENGINE 那里我们并未编写,以后再说,这是存储引擎,可以看到,默认的字符集是 u t f 8 m b 4 utf8mb4 utf8mb4 c o l l a t e collate collate 是默认排序规则,这两个都是默认的。

2.1.3 DDL表操作数据类型

更多推荐

黑马程序员MySQL数据库之基础篇笔记(SQL语法)(每日更新)