美文网首页
DDL(data definition language)

DDL(data definition language)

作者: 谢朴欢 | 来源:发表于2017-05-22 18:29 被阅读17次

DDL主要的命令有CREATE、ALTER、DROP等,DDL主要是用来创建,删除,修改数据库和表对象。

一、数据库操作

1.查看数据库

SHOW DATABASES;

2.新建数据库

CREATE DATABASE <数据库名>;

3.连接数据库

USE <数据库名>;

4.查看数据库中的表

SHOW TABLE;

5.删除数据库

DROP DATABASE <数据库名>;


二、数据表操作

1.创建数据表

1.1创建表的语法格式

CREATE TABLE 要创建的表名字

(

字段名1 数据类型(字段大小) [约束条件] ,

字段名2 数据类型(字段大小) [约束条件]

);

1.2主键约束(PRIMARY KEY CONSTRAINT)

主键能够唯一的标识表中的一行记录,因此主键不能有重复且不能为空。主键又分单字段主键和复合主键两种类型。

单字段主键

可以在定义列时一起指定

字段名 数据类型(字段大小)  PRIMARY KEY

也可以在定义完所有列后指定

[CONSTRAINT  <约束名>]  PRIMARY KEY 字段名

复合主键

[CONSTRAINT  <约束名>]  PRIMARY KEY(字段1,字段2)

1.3外键约束(FOREIGN KEY CONSTRAINT)

外键用来在两个表的数据之间建立连接,对应的是参照完整性。外键必须是另一个表的主键,和主键一样它可以是一列或多列,不过与主键不一样的是:一个表可以有多个外键。主表名是外键所依赖的表的名字。

[CONSTRAINT  <约束名>]  FOREIGN KEY(字段1, 字段2) REFERENCES 主表名(字段1, 字段2)

1.4非空约束(NOT NULL CONSTRAINT)

非空约束是指该列的值不能为空,在插入一条记录时如果没有给定值,数据库系统就会报错。

字段名 数据类型 NOT NULL

1.5唯一性约束(UNIQUE CONSTRAINT)

唯一性约束是指该列的值不允许重复,允许一个空值。

字段名 数据类型 UNIQUE

1.6默认约束(DEFAULT CONSTRAINT)

默认约束是指该列有默认值,在插入一条记录时,如果没有指定该字段的值,则自动为该字段赋默认值。

字段名 数据类型 DEFAULT 默认值

1.7设置属性值自动增加

这个功能的意思就是每插入一条新记录时自动生成字段的主键值。可以通过为主键设置AUTO_INCREMENT关键字来实现。它初始化为1,每添加一条记录,就会增加1。一个表只能为一个字段添加AUTO_INCREMENT,且该字段必须是主键或为主键的一部分。

字段名 数据类型 AUTO_INCREMENT



2.查看数据表结构

2.1查看表基本结构

DESCRIBE/DESC语句可以查看表的字段信息,包括:字段名,数据类型,约束条件等。

DESCRIBE 表名

DESC 表名

2.2查看表详细结构

SHOW CREATE TABLE语句可以查看创建表时的建表语句,存储引擎,字符编码等

SHOW CREATE TABLE 表名\G

\G可加可不加,加的话显示效果会更加直观。


3.修改数据表

3.1修改表名

ALTER TABLE 原表名  RENAME [TO]  新表名;

RENAME TABLE  原表名  TO  新表名;

3.2修改字段数据类型

ALTER TABLE 表名  MODIFY  字段名  数据类型;

3.3修改字段名

ALTER TABLE  表名  CHANGE  原字段名  新字段名  新数据类型;

注:如果不想改变数据类型,可以设置跟原来一样,但不能为空。

3.4添加新字段

一个新字段需要字段名,数据类型,完整性约束。FIRST作用是将字段设置为表中第一个字段,AFTER是把新添加的字段放在指定的字段名后面

ALTER TABLE 表名  ADD 新字段 数据类型 [约束条件]  [FIRST | AFTER  字段名];

3.5删除字段

ALTER TABLE  表名  DROP  字段名;

3.6修改字段的位置

ALTER TABLE  表名  MODIFY  字段 数据类型  FIRST;

ALTER TABLE  表名  MODIFY  字段 数据类型  AFTER 字段名;

3.7更改表的存储引擎

我们可以为每张表选用不同的存储引擎。

查看MySQL支持的存储引擎

SHOW ENGINES;

更改表的存储引擎

ALTER TABLE 表名  ENGINE=新的存储引擎名

3.8删除表的外键约束

外键约束一旦删除,就会解除主从表之间的关系。

ALTER TABLE  表名  DROP FOREIGN KEY  外键约束名;

3.9修改表中某个值

大多数时候我们需要做的修改是表中的某一个或几个数据,这就需要我们用下面这条命令达到精确的修改

UPDATE  表名字  SET  列1=值1,列2=值2  WHERE  条件;

3.10删除一行记录

DELETE  FROM  表名字  WHERE  条件;

4.删除数据表

4.1删除没有被关联的表

在MySQL中,我们可以使用DROP TABLE语句一次删除一张或多张没有被其他表关联(主键被其他表设置为外键)的数据表。

DROP TABLE [IF EXISTS]  表1,表2,......表n;

4.2删除被其他表关联的表

当要删除的表被其他表所关联的话,直接删除会报错,但有两个办法:

1.先删除与之关联的子表,再删除被关联的父表。

2.将与之关联的子表的外键约束解除,就可以只删除父表。



相关文章

  • Oracle中概念

    Oracle中 DDL、DML、DCL DDL(Data Definition Language,数据定义语言):...

  • Oracle Database(5) Schema对象

    DDL - Data Definition Language Statements Tables Views Se...

  • MySQL-DDL/DML并发

    场景 DDL(Data Definition Language)数据定义语言。DML(Data Manipulat...

  • DDL(data definition language)

    DDL主要的命令有CREATE、ALTER、DROP等,DDL主要是用来创建,删除,修改数据库和表对象。 一、数据...

  • SQL 语句总结

    一、DDL(Data Definition Language)数据定义语言 * CREATE *ALTER ...

  • SQL

    Data Definition Language (DDL)create table, drop table, e...

  • Oracle的SQL基本操作

    总体框架 DDL、DML、DCL DDL(Data Definition Language 数据定义语言),默认c...

  • SQL语言组成

    数据定义语言(Data-Definition Language,DDL):SQL DDL提供定义关系模式、删除关系...

  • mysql基础篇

    MYSQL客户端连接: SQL语法 DDL(Data Definition Language) DDL数据库操作 ...

  • 20180926-MySQL

    DDL(Data Definition Language数据定义语言)CREATE, ALTER,DROP DML...

网友评论

      本文标题:DDL(data definition language)

      本文链接:https://www.haomeiwen.com/subject/pscvxxtx.html