Mysql教程(二):DDL学习

2023-11-18

Mysql教程(二):DDL学习

DDL (Data Definition Language )数据定义语言,用来定义数据库对象(数据库、表、字段)

1 DDL数据库操作

查询

查询所有数据库

SHOW DATABASES;

查询当前数据库

SELECT DATABASE();

创建

CREATE DATABASE [IF NOT EXISTS] 数据库名 [DEFAULT CHARSET 字符集] [COLLATE 排序规则];

删除

DROP DATABASE [IF EXISTS] 数据库名;

使用

USE 数据库名;

2 DDL-表操作-查询

查询当前数据库所有表

SHOW TABLES;

查询表结构

DESC 表名;

查询指定表的建表语句

SHOW CREATE TABLE 表名;

3 DDL-表操作-创建

CREATE TABLE 表名(
	字段1 字段1类型[COMMENT 字段1注释],
    字段2 字段2类型[COMMENT 字段2注释],
    字段3 字段3类型[COMMENT 字段3注释],
    ...
    字段n 字段n类型[COMMENT 字段n注释],
)[COMMENT 表注释];

4 DDL-数据类型及案例

Mysql中的数据类型有很多,主要分为三类:

  • 赋值类型
  • 字符串类型
  • 日期时间类型

赋值类型:

注意这里的无符号的意思,比如字段age(年龄),众所周知,年龄是没有负数的,也就是没有-号,那么我们设置age的字段类型的时候,就可以选择 age(TINYINT UNSIGNED)
在这里插入图片描述

字符串类型

在这里插入图片描述

时间日期类型

在这里插入图片描述

案例

设计一张员工信息表,要求如下:

  1. 编号(纯数字)
  2. 员工工号 (字符串类型,长度不超过10位)
  3. 员工姓名(字符串类型,长度不超过10位)
  4. 性别(男/女,存储一个汉字)
  5. 年龄(正常人年龄,不可能存储负数)
  6. 身份证号(二代身份证号均为18位,身份证中有X这样的字符)
  7. 入职时间(取值年月日即可)

对应建表语句:

create table empolyee(
	id int comment '编号',
	workno varchar(10) comment '工号',
	name varchar(10) comment '姓名',
	gender char(1) comment '性别',
	age tinyint unsigned comment '年龄',
	idcard char(18) comment '身份证号',
	entrydate date comment '入职时间'
) comment '员工表';

5 DDL-表操作-修改

添加字段

ALTER TABLE 表名 ADD 字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

案例:

empolyee表增加一个新的字段昵称为nickname,类型为varchar(20)

LTER TABLE empolyee ADD nickname VARCHAR(20) COMMENT '昵称';

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8559cWYc-1689731925867)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230719094554610.png)]

修改数据类型

ALTER TABLE 表名 MODIFY 字段名 新数据类型 (长度);

修改字段名和字段类型

ALTER TABLE 表名 CHANGE 旧字段名 新字段名 类型 (长度) [ COMMENT 注释 ] [ 约束 ];

案例:

employee表的nickname修改为username,类型为varchar(30)

ALTER TABLE empolyee CHANGE nickname username VARCHAR(30) COMMENT '用户名';

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HPxkdPBV-1689731925867)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230719094844379.png)]

删除字段

ALTER TABLE 表名 DROP 字段名;

案例:

empolyee表的字段username删除

ALTER TABLE empolyee DROP username;

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vfMOHV0V-1689731925868)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230719095120237.png)]

修改表名

ALTER TABLE 表名 RENAME TO 新表名

案例:

empolyee表的表名修改为emp

ALTER TABLE empolyee RENAME TO emp;

然后使用SHOW TABLES查看表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OSrD2Umg-1689731925868)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230719095322585.png)]

6 DDL-表操作-删除

删除表

DROP TABLE [IF EXISTS] 表名;

删除指定表,并重新创建该表

TRUNCATE TABLE 表名;

这是删除之前的表

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BEWorbOs-1689731999651)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230719095616972.png)]

执行TRUNCATE TABLE empolyee之后,查看表信息,可以看到表数据已经没了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pGMMCmmZ-1689731999652)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20230719095710429.png)]

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mysql教程(二):DDL学习 的相关文章

随机推荐

  • Fisco Bcos区块链一(搭建单群组FISCO BCOS联盟链)

    文章目录 区块链开荒 技术文档 https fisco bcos documentation readthedocs io zh CN latest index html 一 搭建第一个区块链网络 1 搭建单群组FISCO BCOS联盟链
  • java基础语法

    java基础语法 1 Java概述 1 1 Java语言发展史 了解 1 2 Java语言跨平台原理 理解 1 3 JRE和JDK 记忆 1 4 JDK的下载和安装 应用 1 4 1 下载 1 4 2 安装 1 4 3 JDK的安装目录介绍
  • python进阶之多线程对同一个全局变量的处理

    通常情况下 from threading import Thread global num 0 def func1 global global num for i in range 1000000 global num 1 print fu
  • sklearn决策树怎么使用ccp_alpha进行剪枝

    本站原创文章 转载请说明来自 老饼讲解 机器学习 ml bbbdata com 目录 一 CCP后剪枝是什么 二 如何通过ccp alpha进行后剪枝 1 查看CCP路径 2 根据CCP路径剪树 三 完整CCP剪枝应用实操DEMO 四 CC
  • c语言初学者如何编写一个相加求和程序

    欢迎来到南方有乔木的博客 博主主页 点击点击 戳一戳 博主QQ 1636758318 博主简介 一名在校大学生 正在努力学习Java语言编程 穷且意坚 不坠青云之志 希望能在编程的世界里找到属于自己的光 跪谢帅气or美丽的朋友们能够帮我点赞
  • 【翻译】Dagre-D3 文档整理和翻译

    地址 github Dagre D3 目录 文章目录 dagre d3 设计优先级 安装 npm Bower Browser Scripts 源代码构建 如何使用Darge 聚焦渲染 例子 配置布局 生成的图像 第三部分例子 推荐阅读 da
  • Android——Intent用法

    Intent 意图 一般可以被用于启动活动 启动服务以及发送广播等场景 现在先说一下启动活动这部分 Intent分为显式Intent和隐式Intent 一 显式Intent的使用 Intent有多个构造函数的重载 常用的一个有Intent
  • 基于Qt的OpenGL编程(3.x以上GLSL可编程管线版)---(十九)混合

    Vries的教程是我看过的最好的可编程管线OpenGL教程 没有之一 其原地址如下 https learnopengl cn github io 04 20Advanced 20OpenGL 03 20Blending 关于混合的详细知识了
  • WOW装备大全(07.11.30)

    德需求 布拉克希斯的睡眠法杖 装备后绑定双手法杖131 223 伤害速度 3 每秒伤害 59 550 点护甲 39 耐力 耐久度 100 100 需要等级 64 装备 在猎豹 熊 巨熊和枭兽形态下的攻击强度提高234点 大地守卫者拾取后绑定
  • MySQL数据库学习笔记(九)实验课六之触发器和存储过程

    没想到这就是最后一次实验了 一点知识 道具 delimiter DELIMITER 这是用于指定语句分隔符的特殊命令 默认情况下 MySQL使用分号 作为语句的结束符 然而 当我们需要定义存储过程 触发器或函数等包含多条SQL语句的对象时
  • 单片机毕设 基于单片机的酒精浓度检测仪 - stm32 酒驾检测 酒精检测

    文章目录 0 简介 1 项目简介 2 系统设计 3 硬件设计 3 1 MQ 3 模块 3 2 GPRS模块 4 软件设计 4 1 GPRS模块使用 常用AT指令 4 1 1 数据收发demo 5 实现效果 5 最后 0 简介 Hi 大家好
  • 冷启动与热启动的定义

    在 Android 应用程序开发中 启动应用程序时 系统可以采用两种启动方式 冷启动和热启动 冷启动 Cold start 当应用程序从未启动过或者被系统杀死后再次启动时 就是冷启动 在冷启动时 应用程序的进程会被系统创建 应用程序需要重新
  • 100天精通Python(基础篇)——第9天:字符串拼接

    文章目录 拼接符号 代码示例 拼接符号 代码示例 print LCL 全世界 最帅 最有钱的 name lcl address 特斯拉总经理办公室 tel 8888888 print 我是 name 地址 address 电话 tel
  • 附录:kafka源码启动

    本文以源码2 8为例 准备如下 idea 2019 1 4 jdk 1 8 scala 2 12 8 gradle 6 8 1 zookeeper 3 4 10 kafka2 8源码 注意 以下安装都需要装在没有空格的路径上 比如D Pro
  • 分享一个selenium jar包 的下载地址,各版本都有,包括selenium-server-standalone.jar、selenium、selenium-server

    http selenium release storage googleapis com index html
  • 不懂代码也不用怕!10款无代码网站搭建平台

    作为设计师 对网站满脑子的构思 却受限于时间和技能 比如写代码 这是何其无奈 那个在你脑中盘桓许久的网站 或许是一个博客 可能是作品展示网站 但无论是哪种 想要让想法落地成形终究是一个艰巨的任务 今天为你推荐10款网站设计 开发工具能帮你改
  • Micropython驱动ST7735显示中文(中文字体库)

    大家是不是遇到显示中文就头大了 又是取模又是怎么的 但麻烦 太繁琐了 对确定的字符显示来说还可以 但不确定的内容时就麻烦了 所以 今天还是来讲讲干货了 来使用一个方便的方式来显示中文 不用取模 直接显示你想要的中英文字体 开始之前要说一下的
  • 戴尔服务器c系列,主打云计算市场 戴尔C系列服务器大盘点

    戴尔机架 R系列 塔式 T系列 和刀片 M系列 中采用至强5600处理器的服务器 其实 还有一个系列同样采用至强5600的处理器 它就是PowerEdge C 系列 这支系列是戴尔在2010年4月推出 是面向云计算平台的全新产品线 值得关注
  • 10种进阶方法让你快速测试端口连通性

    转载连接 介绍 Ping是Windows Linux和Unix系统下的一个检查网络连通性的命令工具 对于大部分互联网用户来说很实用 很方便 但是ping有个缺点 不能指定端口 如果源地址被设置禁ping 那么ping命令就形同虚设 为了弥补
  • Mysql教程(二):DDL学习

    Mysql教程 二 DDL学习 DDL Data Definition Language 数据定义语言 用来定义数据库对象 数据库 表 字段 1 DDL数据库操作 查询 查询所有数据库 SHOW DATABASES 查询当前数据库 SELE