一、什么是DDL语句?

数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言。主要由create(添加)、alter(修改)、drop(删除)和 truncate(删除) 四个关键字完成。

二、常见的数据库对象

三、create关键字

1、创建一个数据库

create database 数据库名;     //建立一个数据库
create database 数据库名 default charset utf8 collate utf8_general_ci;    //建立一个数据库并制定编码格式

2、创建一个表

表是存放在数据库中的只能在数据库下创建表

创建表时自然会用到表的约束

完整性约束条件是对字段进行限制,要求用户对该属性进行的操作符合特定的要求。如果不满足完整性约束条件,数据库系统将不执行用户的操作。说白了,数据库约束条件就是保证数据库中数据的完整性。

在哪一个数据库下创建表首先需要切换到此数据库下

use 数据库名;    //使用某个指定的数据库

在这个数据库下创建表(关键字不区分大小写)


create table 表名称(字段1 类型,字段2 类型);   //在一个数据库中创建一个表
create table hero_table ( id int,name varchar(10));    //创建表//创建表并增加约束
CREATE TABLE 表名称 (字段1 类型1 约束1 约束1,字段2 类型2 约束2 约束2
);
//创建表并增加约束
CREATE TABLE hero_table4 (id INT(11) NOT NULL PRIMARY KEY,NAME VARCHAR(10) NOT NULL UNIQUE KEY
)

3、使用create复制表

//只复制表结构及约束,但不复制数据
CREATE TABLE 复制出的表 LIKE 原表
//复制表结构及数据,但不复制约束
CREATE TABLE 复制出的表 AS SELECT * FROM 原表

四、alter关键字

1、添加字段

ALTER TABLE 表名称 ADD 字段名 字段约束
ALTER TABLE 表名称 ADD COLUMN 字段名 字段约束

2、添加索引

    ALTER TABLE 表名称 ADD INDEX 索引名称 (字段名)

3、添加主键

    ALTER TABLE 表名称 ADD PRIMARY KEY (字段名)ALTER TABLE 表名称 ADD UNIQUE KEY (字段名)

4、添加外键约束

 ALTER TABLE 需要添加外键表名称 ADD FOREIGN KEY 外键名(设为外键的字段) REFERENCES 被添加外键表名称(设为被添加外键的字段)

5、修改字段类型时要注意字段类型的兼容性及精度,除非该列全部数据为null

ALTER TABLE 表名称 CHANGE COLUMN NAME 修改字段 修改为字段类型
ALTER TABLE 表名称 MODIFY COLUMN 修改字段 修改为字段类型

6、修改与删除表中default

//设置default
ALTER TABLE 表名称 ALTER COLUMN 字段名 SET DEFAULT  '修改的值'
//删除default
ALTER TABLE 表名称 ALTER COLUMN 字段名 DROP DEFAULT 

7、禁用和启用约束

//禁用约束
ALTER TABLE 表名称 DISABLE KEYS
//启用约束
ALTER TABLE 表名称 ENABLE KEYS

8、删除表字段、主键、索引、外键约束

//删除表字段
ALTER TABLE 表名称 DROP COLUMN 字段名
//删除主键
ALTER TABLE 表名称 DROP PRIMARY KEY
//删除索引
ALTER TABLE 表名称 DROP INDEX 索引的字段名
//删除外键约束
ALTER TABLE 表名称 DROP FOREIGN KEY 外键的字段名

9、修改表名

ALTER TABLE 修改前表名称 RENAME 修改后表名称

五、drop关键字

1、删除数据库

DROP DATABASE 数据库名

2、删除表

DROP TABLE 表名称

六、truncate关键字

与drop的区别:truncate只删除数据不删除表的结构(定义),释放空间

删除表

truncate table 表名称;

Sql语句中的DDL语句相关推荐

  1. oracle存储过程ddl,Oracle 存储过程中的DDL语句

    Oracle的存储过程,是我们使用数据库应用开发的重要工具手段.在存储过程中,我们大部分应用场景都是使用DML语句进行数据增删改操作.本篇中,我们一起探讨一下数据定义语句DDL在存储过程中使用的细节和 ...

  2. mysql能用case嵌套sql吗,关于sqlserver中查询语句中嵌套case语句使用方法

    ryxxlong的博客 Sql server 中的 CASE 语句文章, 链接 http://ryxxlong.iteye.com/blog/531221 写的比较详细,具体内容如下,主要用于自己以后 ...

  3. 【JavaWeb之旅二】MySQL数据库之SQL语句中的DML语句与DQL语句

    SQL语句中的DML语句与DQL语句 文章目录 SQL语句中的DML语句与DQL语句 1.SQL语句之DML 1.1DML常见的语法 1.添加数据常见语句 2.修改.删除数据常用语法 2.SQL语句之 ...

  4. 下列sql语句中哪条语句可为用户zhangsan分配数据库userdb表userinfo的查询和插入数据权限

    下列sql语句中哪条语句可为用户zhangsan分配数据库userdb表userinfo的查询和插入数据权限(A). A: grant select,insert on userdb.userinfo ...

  5. sql语句中的case语句

    sql语句中的case语句与高级语言中的switch语句,是标准sql的语法,适用于一个条件判断有多种值的情况下分别执行不同的操作. 首先,让我们看一下CASE的语法.在一般的SELECT中,其语法格 ...

  6. R语言嵌套的ifelse语距:将一条If语句放在另一条If语句中,该语句作为嵌套的If else调用。If else语句允许我们根据表达式结果(TRUE或FALSE)打印不同的语句,执行不同的语句块

    R语言嵌套的ifelse语句:将一条If语句放在另一条If语句中,该语句作为嵌套的If else调用.If else语句允许我们根据表达式结果(TRUE或FALSE)打印不同的语句,执行不同的语句块 ...

  7. java中if(a.c())_if 语句中的条件语句只能是() 类型。_学小易找答案

    [单选题]设 x,y 均为已定义的类名,下列声明对象 x1 的语句中正确的是 ( ) [单选题]C# 中引入命名空间使用 [简答题]class Parent{ private String name; ...

  8. Sql语句中的DDL、DML、DCL的介绍

     一.DDL DDL is Data Definition Language statements. Some examples:数据定义语言,用于定义和管理 SQL 数据库中的所有对象的语言 1.C ...

  9. MySql的初识感悟,以及sql语句中的DDL和DML和DQL的基本语法

    花了将近一周的时间学习了数据库的基本用法,今天总结一下. 一.一些感悟 数据库的定义:数据库是"按照数据结构来组织.存储和管理数据的仓库".是一个长期存储在计算机内的.有组织的.可 ...

最新文章

  1. Shell - 挂载硬盘
  2. 在Windows2003下搭建FTP服务器
  3. 山西晋城学籍“失踪”解决方案:可参加高考或转职高
  4. centos文本查看及处理相关的常用命令
  5. 制作越狱版本的ipa文件
  6. kickstart research
  7. ogc是一个非营利性组织_非营利组织的软件资源
  8. 自考的那些事儿(三):软件开发工具(总述篇)
  9. 【分享】浅析Quora的技术架构
  10. 微信小程序——计算从今天到某天间隔多少天
  11. Lange定向耦合器的设计与仿真
  12. 黑苹果系统的优化与问题解决(一)
  13. 无人机姿态解算_扩展卡尔曼滤波(2)
  14. png/jpg 转换 webp
  15. 【小家java】一个例子让就能你彻底理解Java的Future模式,Future类的设计思想
  16. php mysql 网站实例教程,PHP+MYSQL网站开发全程实例
  17. flash_acr_latency
  18. 【Python】输入输出(11)
  19. 2017校招题目 混合颜料
  20. Android Studio - Bumblebee | 2021.1.1 Patch 3

热门文章

  1. Sandcastle方法生成c#.net帮助类帮助文档chm
  2. sigmoid函数,tanh函数,relu函数,softmax函数
  3. windows配置python环境变量
  4. 浅谈工业级4G通信模块适配流程---一个做通信模块十多年的老工程师的经验之谈
  5. Python模块——shutil模块详解
  6. php mysql 删除重复数据_mysql删除重复数据保留一条
  7. 今日软件分享:可以自动生成自画像的软件
  8. 游戏配音中三腔共鸣的意义
  9. 疑惑-subl里运行python异步中为什么最后打印子进程语句
  10. 禁止運行BT軟體及病毒文件