讲解SQL语句三大分类和每个分类的SQL使用入门。

使用的是数据库是:MySQL 8.0.27

1.SQL分类  

DDL(Data Definition Language)语句:数据定义语句。

用途:是对数据库对象(数据库、表、列、索引等)进行创建、删除、修改等。

常用关键字:create、drop、alter等。

DML(Data Manipulation Language)语句:数据操纵语句。

用途:用于添加、修改、删除和查询数据库记录,并检查数据完整性。

常用关键字:insert、update、delete、select等。

DCL(Data Control Language)语句:数据控制语句。

用途:控制数据库、表、字段、用户的访问权限和安全级别

常用关键字:grant、revoke等

2.DDL语句

DDL语句是用于操作数据库对象的,其中数据库对象包含数据库本身(database)、表(table)、列(column)、索引(index)、约束(constraint)、视图(view)、触发器(trigger)、存储过程(StoredProcedure)和函数(function)。

在此入门课程只讲解数据库(database)和库表(table)。

为什么一直都在中文后加上括号英文说明呢?因为sql 语句要用,先混个眼熟。

全程命令操作,让注意力更专注于指令输入和结果输出。

2.1.DDL之操作

先连接上数据库

1)创建数据库

create database mydb;

这是最简单的创建数据库语句。

2)查看当前连接有哪些数据库

show databases;

可以看到除了刚创建的mydb 还有其他的数据库。

简单说明这些数据库是干嘛用的。

用户库:就是自己刚刚创建的 mydb

系统库:

--每个用户都可以看到自己的
information_schema:存储系统数据库对象信息,包含了用户表信息、列信息、权限信息、字符集信息、分区信息等等。
--普通用户看不到
performance_schema:存储系统性能相关的动态参数表
--普通用户看不到
sys:基于information_schema 和 performance_schema之上,封装了一层更加易于调优和诊断的系统视图(系统层的视图)
--普通用户看不到
mysql:存储系统的用户权限信息

3)查询建库SQL语句

show create database mydb \G;

4)使用数据库

use mydb;

只有选择了使用mydb 数据库,才可以开始对mydb 进行建库表之类的操作

5)删除数据库

drop database mydb;

可以看到mydb 已经被删除了。

到此为止,你已经学会了如何创建数据库,使用数据库,查看当前连接有哪些数据库和删除数据库

2.2.DDL之操作

先把之前删的mydb数据库,创建回来并使用mydb,再查看下mydb 库有没有表在里面

查到没有库表

1)创建数据库表

create table tablename(
列名 数据类型 约束,
列名 数据类型 约束
);

创建person表

create table person( id int primary key,name varchar(30),age int default 0 );

2)查看表设计

desc person;

3)查看建表SQL语句

查看建库和建表SQL 语句都是相类似的,查询的数据库对象不同而已。

"\G" 选项的含义是按照字段竖向排列,为了更好阅读查询结果。

show create table person \G;

可以看到,虽然我们没有指定存储引擎和字符编码,但是建表语句后已经指定了默认存储引擎InnoDB和字符编码utf8mb4。

4)修改表

关键字rename

alter table 旧表名 rename 新表名;

5) 删除表

drop table people;

为了后续操作,再把表建回来……

6)修改表字段

--修改表字段类型
alter table 表名 modify 列名 列的新类型;
--增加表字段
alter table 表名 add column 列名 列的类型;
--删除表字段
alter table 表名 drop column 列名;
--修改字段名
alter table 表名 change 旧列名 新列名 列的类型;
--修改字段排列顺序
在增加表字段或修改表字段后加入:first 或 after 字段名
如:alter table 表名 add column 列名 列的类型 after 列名2;
如:alter table 表名 change 旧列名 新列名 列的类型 first;
所有操作按顺序看图

到此为止,你已经学会了建表、查表、删表、改表和改表字段操作

DDL 入门完成,学习了对数据库和表的基本操作

2.3.DDL之操作索引

索引是对数据库里加了索引的数据预先进行排序,就像书的目录,可以优化查询速度,但是会降低增删改速度,占用磁盘空间。

1)添加索引

用于建表时创建索引

//create只能添加这两种索引;
CREATE INDEX index_name ON table_name (column_list)
CREATE UNIQUE INDEX index_name ON table_name (column_list)

用于表建好后创建索引(常用)

--增加主键索引:不允许出现相同的值
alter table tab_name add primary key (column_list);
--增加唯一索引:不可以出现相同的值,可以有NULL值
alter table tab_name add unique (column_list);
--增加普通索引:允许出现相同的索引内容
alter table tab_name add index index_name(column_list);
--增加联合索引:将多个字段建到一个索引里,列值的组合必须唯一
alter table tab_name add index index_name (column,column,...);

2)查看索引

--查看表 tab_name 的所有索引信息(如:索引是否唯一,是否允许为null,索引存储的数据类型等信息)
show index from tab_name;

3)删除索引

alter table tab_name drop index index_name;alter table tab_name drop primary key;

3.总结

到目前为止,可以通过DDL语句来操作数据库对象:库、表、索引。

​关注公众号学习更多有关数据库的知识和获取数据库免费电子书​。

MySQL基础之DDL语句的更多相关文章

  1. MySQL 基础(DDL)

    SQL分类         SQL语句主要可以划分为一下3个类别      DDL:数据定义语言,定义数据段.数据库.数据表等      DML :数据操纵语句,用于添加.删除.更新和查询数据库记录 ...

  2. MySQL之使用DDL语句创建表

    一.使用DDL语句创建表 DDL语言全面数据定义语言(Data Define Language) 主要的DDL动词: CREATE(创建).DROP(删除).ALTER(修改) TRUNCATE(截断 ...

  3. mysql基础篇 - SELECT 语句详解

    基础篇 - SELECT 语句详解         SELECT语句详解 一.实验简介 SQL 中最常用的 SELECT 语句,用来在表中选取数据,本节实验中将通过一系列的动手操作详细学习 SELEC ...

  4. 【MySQL】MySQL基础(SQL语句、约束、数据类型)

    数据库的基本概念 什么是数据库? 用于存储和管理数据的仓库 英文单词为:DataBase,简称DB 数据库的好处? 可以持久化存储数据 方便存储和管理数据 使用了统一的方式操作数据库 -- SQL 常 ...

  5. MySQL基础:DCL语句总结

    SQL语言大致分为DCL.DDL.DML三种,本文主要介绍MySQL 5.7版本DCL语句. 概述 DCL(Data Control Language)语句:数据控制语句,用于控制不同数据段直接的许可 ...

  6. MYSQL基础常见常用语句200条

    数据库 # 查看所有的数据库 SHOW DATABASES ; # 创建一个数据库 CREATE DATABASE k; # 删除一个数据库 DROP DATABASE k; # 使用这个数据库 US ...

  7. MySQL基础----动态SQL语句

    尊重原创:http://blog.csdn.net/abc19900828/article/details/39501643   动态sql语句基本语法 1 :普通SQL语句可以用Exec执行 eg: ...

  8. mysql 学习之 DDl语句

    mysql 1,登入mysq1: mysql -uroot -p  ---->密码隐藏登入好点 2,mysql操作: 创建数据库:create databases test1; 查看数据库:sh ...

  9. MySQL基础之DML语句

    DML 语句 DML(Data Manipulation Language)语句:数据操纵语句. 用途:用于添加.修改.删除和查询数据库记录,并检查数据完整性. 常用关键字:insert.update ...

  10. MySQL的DDL语句、DML语句与DCL语句

    背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库 ...

随机推荐

  1. 无法访问Github仓库的极简治标法

    技术背景 由于IP原因,国内的IP访问Github仓库的时候会经常遇到一些困难,甚至存在无法Ping通的情况.尝试过FastGithub等方案,但还是会遇到各种各样的问题,导致情况越来越复杂. 但是转 ...

  2. Laravel组件化开发学习笔记

    组件化开发就是基于组件来进行迭代开发,而不是从零开始开发 1.语法基础 组件开发的基础语法是命名空间. 可以使用魔法常量__NAMESPACE__可以直接获取当前命名空间的名称的字符串. 例如: &l ...

  3. [转帖]TiDB 使用 dumpling 导出数据,并使用 lightning 导入到另一个 TiDB 库

    本文介绍从 TiDB-A 库导出数据到 TiDB-B 库: 导出 Dumpling 包含在 tidb-toolkit 安装包中,可在此下载. 从 TiDB/MySQL 导出数据 需要的权限 SELEC ...

  4. Clickhouse 极简单机版本安装部署

    Clickhouse 极简单机版本安装部署 摘要 Clickhouse的安装与部署其实比较简单. 但是为了能够更加简单的部署与使用. 尤其是能够可以方便的添加到镜像内进行运行. 所以记录一下方便快捷的 ...

  5. 【转帖】JVM的发展历程

    目录 1.Sun Classic VM 2.Exact VM 3.Sun HotSpot(主流) 4.JRockit 5.IBM J9 6.下一代虚拟机Graal VM 1.Sun Classic V ...

  6. 依据HTML标准再探Javascript事件循环及其与浏览器渲染的关系

    Javascript的一些基础概念 JavaScript执行引擎在宿主环境中是单线程的,这意味着在同一时间内只能执行一个任务.在Javascript运行期间,引擎会创建和维护相应的堆(heap)和栈( ...

  7. Ant Design Vue封装a-drawer

    1.创建子组件 <template> <a-drawer :title="drawerInfo.customTitle" :placement="pla ...

  8. 时不我待,拥抱趋势,开源IM项目OpenIM技术简介

    坚持开源 开源的理念是基于共享.合作和透明的原则,将软件.代码等知识资源公开并允许他人使用.修改和重新分发,以促进创新和发展.以下是几个开源的优点: 创新:开源可以促进创新,通过让其他人改进或扩展已有 ...

  9. Mysql 8.0前后,实现创建用户,指定用户只能访问指定的数据库中的表

    最近在做公司项目的过程中,出现了这样的需求.第三方系统需要将数据写到我们的业务系统中,由于目前这些数据没有实际的使用场景,在讨论下,为简单快捷,选择第二种方案,即不书写接口,第三方系统通过数据库直接将 ...

  10. 4.1 C/C++ 使用结构与指针

    C/C++语言是一种通用的编程语言,具有高效.灵活和可移植等特点.C语言主要用于系统编程,如操作系统.编译器.数据库等:C语言是C语言的扩展,增加了面向对象编程的特性,适用于大型软件系统.图形用户界面 ...