笔记本

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

MySQL的DDL(数据定义语言)相关推荐

  1. 源码编译安装mysql,DDL数据定义语言的使用。

    今天来尝试下源码编译安装mysql. 这次我们要用到cmake工具,安装cmake. # yum install cmake # tar -xf mysql-5.5.37.tar.gz # cd my ...

  2. mysql DDL数据定义语言

    DDL数据定义语言 本节涉及MySQL关键字:create.alter(rename,add,chang,modify,drop).drop.delete.truncate等. -- 创建表: -- ...

  3. MySQL基础--(2) [SQL(结构化查询语言), DDL(数据定义语言)]

    目录 Sql(结构化查询语言) sql的概念以及特点 DDL(数据定义语言) 创建,删除,修改数据库. 数据库存储数据的特点 数据库表 数据库表中数据的数据类型 数据库表中数据的约束 创建表 设置修改 ...

  4. MySQL04:DDL数据定义语言

    DDL数据定义语言 库和表的管理 一.库的管理 1.库的创建 语法: create database [if not exists]库名; 案例:创建库Books CREATE DATABASE IF ...

  5. 数据库DDL数据定义语言

    文章目录 DDL数据定义语言 1. 数据库相关操作 1.1 查看DBMS中已有的数据库 1.2 新建一个数据库 1.3 查看数据库信息 1.4 删除数据库 1.5 使用一个数据库(切换一个数据库) 2 ...

  6. 【数据库基础知识二】数据库DataBase(简称DB),数据库基本概念、DDL:数据定义语言,用来操作数据库对象、DML:数据操作语言,用来操作表中的数据

    14天阅读挑战赛 目录 数据库基本概念 数据库DataBase(简称DB) 数据库管理系统Database management system(简称DBMS) 如何操作DBMS? 连接数据库的方式: ...

  7. sql 两大类 DDL数据定义语言 和DCL数据控制语言

    SQL分为五大类: DDL:数据定义语言   DCL:数据控制语言     DML:数据的操纵语言  DTL:数据事务语言  DQL:数据查询语言. DDL (date definition lang ...

  8. 大数据技术之Hive 第4章 DDL数据定义语言

    第4章 DDL数据定义语言 4.1 创建数据库 CREATE DATABASE [IF NOT EXISTS] database_name [COMMENT database_comment] [LO ...

  9. MySQL→数据库、启动连接数据库、SQL→DDL数据定义语言及数据类型、DML数据操作语言、DQL数据查询语言、数据库约束→主键、唯一、非空、默认、外键、SQL、三大范式及一多关系、视图、内外连接

    MySQL连接退出命令 mysql –uroot -proot mysql –h127.0.0.1 –uroot -proot mysql --host=localhost --user=root - ...

最新文章

  1. php好的mvc中index方法,创建一个mvc应用目录架构并创建入口文件index.php
  2. mysql 两列计数_MySQL在两列上计算唯一值,并为每列连接这些计数
  3. 使用OpenCV检测图像中的矩形
  4. Chrome Native Client 原理
  5. Android自己的自动化测试Monkeyrunner和用法示例
  6. java string对象放在什么区域_java中String对象的存储位置
  7. 很详细的硬盘基础知识
  8. linux 2.6内核进程调度,linux2.6内核进程调度
  9. Vue 中英文切换设置
  10. HTTP代理是什么意思?
  11. 数据结构大作业-DBLP科学文献管理系统(三)聚团分析(并查集,最大团问题)
  12. CTF-Crypto学习1(软件加壳、反汇编、Babe64、Rijndael密码算法)
  13. 江开计算机应用基础第二次形考,江开计算机应用基础第二次形考作业
  14. C++一本通题库1013
  15. ubuntu18.04企业微信乱码
  16. 一战赚了1090亿,恐怖的头条CEO张一鸣!
  17. 计算机技术在美术方面的应用,计算机技术在图形图像处理中的应用
  18. java MySQL表的约束与数据库设计 详解
  19. 接收机的噪声来源与噪声分析
  20. Lecture09:Benders分解--理论部分

热门文章

  1. java用下拉框实现出生日期_纯JS实现出生日期[年月日]下拉菜单效果
  2. 运动的“点”与“线”,竟然能产生错觉???
  3. MIS迭代一:增删改查功能测试
  4. ERP/MIS系统中集成命令行式的功能调用
  5. ps作图缩小有锯齿的解决方法
  6. 请按照以下要求设计一个学生类Student,并进行测试,要求如下:
  7. LeetCode 力扣 67. 二进制求和
  8. unable to access ‘https://code.srdcloud.cn/a/ifst/ifst-fe/‘: Failed to connect to code.srdcloud.c
  9. Python那些让我疑惑许久的代码--2
  10. 总说业务,到底业务常用的指标有哪些