如果你是刚刚学习MySQL的小白,在你看这篇文章之前,请先看看下面这些文章。有些知识你可能掌握起来有点困难,但请相信我,按照我提供的这个学习流程,反复去看,肯定可以看明白的,这样就不至于到了最后某些知识不懂却不知道从哪里下手去查。

《MySQL详细安装教程》
《MySQL完整卸载教程》
《这点基础都不懂,怎么入门MySQL?》
《charset=utf8的原理,你真的弄明白了吗?》
《MySQL数据类型详解》

1.SQL语言的基本功能介绍

SQL是一种结构化查询语言,主要有如下几个功能:

  • 数据定义语言:全称是Data Definition Language,简称是DDL
  • 数据操纵语言:全称是Data Manipulation Language,建成时DML
  • 数据控制语言:全称是Data Control Language,建成时DCL

其中最重要的是数据操纵语言(DML),里面包含了我们常用的功能(增、删、改、查)。对于数据定义语言(DDL)和数据控制语言(DCL),作为一名数据分析师,我们只需要了解,知道怎么用就行了。今天就从DDL语言开始,带着大家学习。

2.数据定义语言的用途。

  • 主要是对数据库对象(数据库、表、视图、索引)的操作。

DDL常用命名如下:

创建 修改 销毁
create alter drop

3.数据库的创建和销毁

-- 创建数据库:创建student数据库
create database if not exists student;
-- 销毁数据库(少用)
drop database if exists student;-- 创建数据库后,当进行对表的操作之前,必须要先使用数据库。
use student;

4.数据库表的操作(所有演示都以student表为例)

1)创建表

1)创建表:创建student表
-- 创建表结构时需要描述的字段信息
create table student(sid int,sname varchar(20),age int
)charset=utf8;2)"完整的建表语句"应该这样写
create table student(sid int,sname varchar(20),age int
)engine=InnoDB default charset=utf8;
注:由于默认使用的engine就是InnoDB,这个见表时候可以不写。因为对于学习的你,使用这个
默认引擎就够了。但是charset=utf8这个最好是加上,尤其是在CMD黑窗口中输入中文的时候,
不写这一句,会出现类似如下错误:
ERROR 1366 (HY000): Incorrect string value: '\xD5\xC5' for column 'sname' at row 1

查看完整建表的SQL语句如下:

2)修改表

① 修改表名
-- 将表名student改为stu。
rename table student to stu;
-- 修改数据库名。
rename database 旧名 to 新名;
② 修改表结构
  • 修改表结构中包含给表添加某个新字段修改表中某个字段删除表中某个字段
Ⅰ 给表添加某个新字段
"添加字段:给student表,添加一个新的字段。"
1)默认是追加,即在最后一列添加新的字段。
alter table student add sex varchar(20);2)在首位添加新的字段,使用first关键字。
alter table student add classid int first;3)在指定位置添加新的字段,使用after关键字(在指定字段后面添加新字段)。
alter table student add birthday date after age;"查看表结构:可以帮助我们了解表的结构信息"
desc student;
Ⅱ 修改表中某个字段
1)"修改字段名称":change
-- 修改字段age的名称,为sage。
-- modify不能直接修改字段名称,其余能用change的地方,就可以用modify。
alter table student change age sage int;2)"修改字段类型":既可以使用change,还可以使用modify。
"还可以修改varchar(m)中这个m的长度"。
-- 修改sname字段的数据类型由varchar(20)为varchar(50)。
-- 可以使用如下两种方式:
alter table student change sname sname varchar(50);
alter table student modify sname varchar(50);3)"修改字段位置":可以配合使用first、after关键字。
-- 将sname字段,放置到age后面。可以使用如下两种方式:
alter table student change sname sname varchar(50) after age;
alter table student modify sname varchar(50) after age;
Ⅲ 删除表中某个字段
-- 删除classid这个字段
alter table student drop classid;
③ 清空表:清空表中所有数据。
  • truncate只删除数据但是不删除表结构;
  • 注意truncate与delete的区别,都用于删除表中数据,区别在哪里呢?可以自行查看。
truncate table stu;

3)销毁表

drop table stu;

  
  

   

关注微信公众号『数据分析与统计学之美』,后台回复“入群”拉你入群交流哦,气氛杠杠的!

带你学MySQL系列 | 什么是数据定义语言(DDL)呢?相关推荐

  1. MySQL基础篇:数据定义语言DDL

    文章目录 1.介绍 2.操作数据库Database 创建数据库 查看有哪些数据库 删除数据库 选择数据库 查看当前正在使用哪个数据库 3.表结构的操作 查看当前数据库的所有表 创建表结构 查看表结构 ...

  2. 数据定义语言 - DDL

    写在前面:博主是一只经过实战开发历练后投身培训事业的"小山猪",昵称取自动画片<狮子王>中的"彭彭",总是以乐观.积极的心态对待周边的事物.本人的技 ...

  3. 数据定义语言DDL(保姆级教学)

    目录 DDL: 1.数据库的创建: 2.由于重复创建同名数据库会报错 3.注意如果默认字符集为Latin1,其不支持中文,所以改为: 数据库的创建: 数据表的创建 属性的数据类型 1.数值类型: 2. ...

  4. 数据操作语言DML及数据定义语言DDL的区别

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 数据操作 ...

  5. 02 数据定义语言DDL

    数据定义语言DDL Data Definition Language-数据定义语言:create / drop / alter 创建数据库 create database school default ...

  6. 【ClickHouse SQL 极简教程】ClickHouse SQL之数据定义语言 DDL

    1.1. ClickHouse SQL之数据定义语言 DDL  本节介绍 ClickHouse 中进行数据库.表结构的定义和管理. 1.1.1. 概述 在SQL中,数据定义语言( DDL ) 用来创建 ...

  7. SQL中数据操作语言 (DML) 和数据定义语言 (DDL)

     可以把 SQL 分为两个部分:数据操作语言 (DML) 和 数据定义语言 (DDL). SQL (结构化查询语言)是用于执行查询的语法.但是 SQL 语言也包含用于更新.插入和删除记录的语法. ...

  8. 大数据Hive数据定义语言DDL

    目录 1 数据定义语言(DDL)概述 1.1 DDL语法的作用 1.2 Hive中DDL使用 2 Hive DDL建表基础 2.1 完整建表语法树 3 Hive数据类型详解 3.1 整体概述 3.2 ...

  9. 带你学MySQL系列 | 困扰MySQL初学者的分组聚合查询,我终于讲明白了!

    1.分组查询的原理图 对上述原始数据,按照DEPARTMENT_ID(员工id)分组统计SALARY(薪水)的平均值. 上述原理写成代码,应该怎么写呢? select department_id,av ...

最新文章

  1. bootstrap-fileinput 应用
  2. ubuntu 13.04 gnome terminal打开默认最大化方法
  3. python技术介绍_Python编程语言基础技术框架()之函数介绍
  4. SI4463模块配合WDS的快速上手指南
  5. java Web监听器导图详解
  6. 多点触控与多鼠标支持
  7. java frameview_Java FrameLayout.removeView方法代码示例
  8. Android高德地图定位获取定位经纬度,高德地图,获取当前位置经纬度
  9. 区块链开发者平台-u deserved it
  10. 汽车 php 深圳,深圳小汽车增量调控管理信息系统查询官网
  11. c#中将word转成图片,无水印
  12. matlab 期权图,如何使用matlab计算期权价格
  13. 博弈——五分钟知悉如何用线性规划做棋牌博弈
  14. 【bzoj 1812】[Ioi2005]riv(树形dp)
  15. 关于使用Pytorch时,训练集模型表现很好但测试集模型表现极差的原因
  16. 笔记本电脑卡顿问题原因
  17. 风险预测模型_慢性肾脏病孕妇妊娠风险预测模型的构建及验证
  18. 打听别人工资的7个话题,让你薪水更高
  19. 旅游景点网站景区景点购票系统毕业设计毕业论文参考(2)前台网站功能
  20. 神州网信政府版Win10新建用户无法上网

热门文章

  1. 地图投影之UTM和高斯克里格投影
  2. amlogic调试系列(一)-芯片型号列表
  3. linux 更改make版本,Linux下查看系统版本和make版本
  4. font-size: 0的作用和用途
  5. 流程图讲解_流程图+地图题小作文练习,详细讲解+精选范文!!
  6. Java设置mysql字段为null_MySQL字段的属性应该尽量设置为NOT NULL
  7. mysql 设置某个字段等于某个字段_MySQL基本使用
  8. 知识图谱-现代知识表示理论
  9. 锐捷智能无线交换机的配置
  10. Access 和vc6.0 相连,在我indows64 位系统中,出现找不到Microsoft Access Driver(*.mdb) ODBC驱动程序的安装例程。请重新安装驱动