MySQL的DDL(数据定义语言)

笔记本
    SQL语言一共分为4大类: DQL(数据查询语言)、 DDL(数据定义语言)、 DML(数据操纵语言)、 DCL (数据控制语言)     本文就介绍的是其中的DDL(Data Definition Language),即数据定义语言,例如建数据库、建表等,都属于数据定义语言

一、库的管理

1、库的创建

基本语法:

CREATE DATABASE 库名

    使用这个语法的时候,将有一个问题,如果存在这个库,那么结果会报错,为了规避这个问题,可以使用以下语法:即判断库是否存在后再进行创建

CREATE DATABASE IF NOT EXISTS 库名;

2、库的修改

    MySQL中不支持直接修改库名,且修改的过程较为麻烦。但是可以修改其字符集。
语法:

ALTER DATABASE 库名 CHARACTER SET 修改后的字符集;

例如修改为GBK

ALTER DATABASE 库名 CHARACTER SET GBK;

3、库的删除

DROP DATABASE IF EXISTS 库名; 

二、表的管理

1、表的创建

create table 表名(列名 列的类型 【约束】),列名 列的类型 【(约束】),列名 列的类型 【约束】),...列名 列的类型 【约束】
)

2、表的修改

①修改列名

ALTER TABLE  表名 CHANGE COLUMN 旧列名 新列名 类型;

②修改列名的类型或者约束

ALTER TABLE 表名 MODIFY 列名 新类型 【新约束】;

③添加列

ALTER TABLE 表名 ADD COLUMN 列名 类型;

如果想要将某一个字段添加到第一个字段或者指定的字段后面,则可以使用这个语法:

ALTER TABLE 表名 ADD COLUMN 字段名 类型 FIRST;
ALTER TABLE 表名 ADD COLUMN 字段名 类型 AFTER 字段名;

④删除列

ALTER TABLE 表名 DROP COLUMN 列名;

⑤修改表名

ALTER TABLE 表名 RENAME TO 新表名;

其中COLUMN均可以省略

3、表的删除

DROP TABLE IF EXISTS 表名;

4、表的复制

①仅仅复制表的结构

CREATE TABLE 复制后的表名 LIKE 待复制的表名;

②复制表的结构+数据

CREATE TABLE 复制后的表名 SELECT *FROM 表名;

三、常见数据类型

1、整型

MySQL 主要提供的整数类型有 TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,其属性字段可以添加 AUTO_INCREMENT 自增约束条件,下表中列出了 MySQL 中的数值类型。
在这里插入图片描述

2、小数类型

可细分为
    浮点数类型:FLOAT(4字节)、DOUBLE(8字节)
    定点数类型:DEC、DECIMAL
其中定点型的精确性相对较高,如果要求插入的数值的精度较高则考虑使用,如货币运算等

3、字符类型

    较短的文本:char、varchar
他们的区别:其中char代表固定的长度的字符,varchar代表可变长度的字符,使用char效率比varchar高一些,但char比varchar更耗费空间。
    较长的文本:text、blob

另外还有BINARY和VARBINARY()用于保存较短的二进制)、ENUM类型(又称枚举类型)、SET类型(保存集合)

4、日期类型

DATE(占4字节)、DATETIME(8字节)、TIMESTAMP(4字节)、TIME(3字节)、YEAR(1字节)

四、常见约束

六大约束:
①NOT NULL :非空约束,用于保证该字段的值不能为空
②DEFAULT:默认约束,用于保证该字段有默认值
③PRIMARY KEY:主键约束,用于保证该字段的值具有唯一性,并且非空
④UNIQUE:唯一约束,用于保证该字段的值具有唯一性,可以为空
⑤CHECK:检查约束【MySQL不支持】
⑥FOREIGN KEY:外键约束,用于限制两个表的关系,在从表中添加外键约束,用于引用主表中某列的值

notebook

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【youcans 的 OpenCV 例程200篇】125. 形态算法之提取连通分量

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程 200 篇】125. 形态算法之提取连通分量 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述…

2评分标准多少分_高新企业认定评分标准,需要多少分才能拿到高新认证证书...

在高新技术企业认定工作中,企业要想成功拿到高新认证证书,那么就必须要符合高新企业认定评分标准,只有达到异地拿到评分数之后,企业才有可能拿到高新认证证书。根据相关文件的规定,我们在申请高新企业认定过程中&#…

java - 猴子吃桃

著名的猴子吃桃问题,计算摘桃子的个数。 猴子吃桃问题:猴子第一天摘下若干个桃子,当即吃了一半,还不瘾,又多吃了一个 第二天早上又将剩下 的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下 的一…

【youcans 的 OpenCV 例程200篇】126. 形态算法之凸壳(Convex hull)

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程 200 篇】126. 形态算法之凸壳 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述形状的元…

java - 人员分配组合

在进行体育赛事比赛的时候往往会因为对比赛队员的组合排序而烦恼, 下面程序能够帮助进行队列组合的分配。 有两个乒乓球队进行比赛,各出三人。甲队为 a,b,c 三人,乙队为 x,y,z 三人。已抽签决定比赛名单。 有人向队员打听比赛的名单。a 说他…

【youcans 的 OpenCV 例程200篇】127. 形态算法之细化

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程 200 篇】127. 形态算法之细化 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述形状的元…

【youcans 的 OpenCV 例程200篇】128. 形态算法之骨架 (skimage)

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】128. 形态算法之骨架 (skimage) 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述…

java -从小到大排序

用java程序对几个数字进行排序并按照从小到大输出。 结果演示 代码展示 package com.zsh;import java.util.Arrays; import java.util.Scanner;public class paixu {public static Scanner input new Scanner(System.in);public static void main(String[] args) {long sta…

车联网大数据框架_大数据基础:ORM框架入门简介

作为大数据开发技术者,需要掌握扎实的Java基础,这是不争的事实,所以对于Java开发当中需要掌握的重要框架技术,也需要有相应程度的掌握,比如说ORM框架。今天的大数据基础分享,我们就来具体讲一讲ORM框架入门…

【youcans 的 OpenCV 例程200篇】129. 形态算法之骨架 (重建开运算)

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】129. 形态算法之骨架 (重建开运算) 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和…

java - 根据条件求对应数字

根据相应的条件求对应的数字是多少,如 : 一个整数,它加上 100 后是一个完全平方数,再加上 168 又是一个完全平方数,请问该数是多少 结果展示 代码展示 package com.zsh;public class pinfs {public static void mai…

linux下将多个文件去除文件头合并_命令行生存指南:拆分与合并 | Linux 中国

这一节将会介绍 Linux 命令行下的文件拆分与合并操作。作者:Psiace(本文字数:2706,阅读时长大约:3 分钟)作为一个工程师,我们经常与命令行打交道,但除了工作用的命令,你是…

【youcans 的 OpenCV 例程200篇】130. 形态学之提取水平和垂直线

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】130. 形态学之提取水平和垂直线 3. 形态学算法 形态学处理的主要应用是提取图像中用来表示和描述…

java - 求和

算术运算符中求和运算: 对于数字的求和计算我们通常使用计算器,但是对于特别复杂的数进行求和计算机是无法满足我们的,那么除了计算器还有什么方法呢? 当然有了,没有一个算法是一个程序搞定不了的。 计算分数序列&…

c语言5的阶乘流程图_5 种前途迷茫的编程语言

code小生 一个专注大前端领域的技术平台公众号回复Android加入安卓技术群与本文对立文:5 门前途美好的编程语言译文链接:http://www.codeceo.com/article/5-die-programming-language.html英文原文:5 Programming Languages Marked for Death…

【youcans 的 OpenCV 例程200篇】131. 形态学重建之竖线字符提取

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】131. 形态学重建之竖线字符提取 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图…

java - 判断任意一天是这年的第几天

进入程序之后,我们根据提示输入年份,点击Enter之后会让我们输入月份,点击Enter之后会让我们输入日,当我们按要求输入年月日之后点击Enter按键之后会计算输入的日期是输入年份的第几天。 原理分析: 1.年份的提示输入 2…

【youcans 的 OpenCV 例程200篇】132. 形态学重建之孔洞填充算法

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】132. 形态学重建之孔洞填充算法 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图…

c 包含其他文件_C语言:全局变量在多个c文件中公用的方法!

用C语言编写程序的时候,我们经常会遇到这样一种情况:希望在头文件中定义一个全局变量,然后包含到两个不同的c文件中,希望这个全局变量能在两个文件中共用。举例说明:项目文件夹project下有main.c、common.c和common.h三…

【youcans 的 OpenCV 例程200篇】133. 形态学重建之边界清除

欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 【youcans 的 OpenCV 例程200篇】133. 形态学重建之边界清除 4. 形态学图像重建 形态学重建的核心是测地膨胀和测地腐蚀。 图像的…