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

文章目录

  • 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。
黑马程序员MySQL数据库之基础篇笔记(SQL语法)(每日更新)_第1张图片

2.1 DDL语句

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

2.1.1 DDL数据库操作

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

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


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

假如当前执行了很多条SQL语句,我已经忘记了这是哪一个数据库,那么该怎么进行查询?使用select database();
黑马程序员MySQL数据库之基础篇笔记(SQL语法)(每日更新)_第3张图片
记住,一定要加上括号(),要不然会报错


  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;查看是否存在刚刚创建的数据库,如下图,数据库创建成功
黑马程序员MySQL数据库之基础篇笔记(SQL语法)(每日更新)_第4张图片


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

在这里插入图片描述


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

在这里插入图片描述


假如是创建test,因为test不存在,所以就会多出一个新建好的test数据库。
在这里插入图片描述
黑马程序员MySQL数据库之基础篇笔记(SQL语法)(每日更新)_第5张图片


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

在这里插入图片描述

黑马程序员MySQL数据库之基础篇笔记(SQL语法)(每日更新)_第6张图片
可以看到已经成功创建itheima数据库


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

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

在这里插入图片描述
黑马程序员MySQL数据库之基础篇笔记(SQL语法)(每日更新)_第7张图片
发现test数据库已经被删除了,若再执行相同指令,就会报错,如果不想报错,就加入if exists


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

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

在这里插入图片描述
想用哪个就切换到哪个数据库


2.1.2 DDL表操作

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

在这里插入图片描述
当前数据库是itheima,此时没有表结构存在,切换到sys数据库当中,寻找表结构。

在这里插入图片描述

黑马程序员MySQL数据库之基础篇笔记(SQL语法)(每日更新)_第8张图片
发现有很多表结构


  1. 查询表结构,desc 表名;
  2. 查询指定的建表语句,show create table 表名;
  3. 表结构的创建,
    黑马程序员MySQL数据库之基础篇笔记(SQL语法)(每日更新)_第9张图片

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

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


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

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


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


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

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


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

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


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

黑马程序员MySQL数据库之基础篇笔记(SQL语法)(每日更新)_第14张图片
此为创建表的SQL语句。但是最后一句,ENGINE那里我们并未编写,以后再说,这是存储引擎,可以看到,默认的字符集是utf8mb4,collate是默认排序规则,这两个都是默认的。

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

2.1.3 DDL表操作数据类型

你可能感兴趣的:(SQL,数据库,sql,mysql)