mysql查看ddl语句_mysql语句-DDL语句

mysql查看ddl语句_mysql语句-DDL语句SQL 分类 1 DDL 语句 数据定义语句 用来定义不同的数据段 数据库 表 列 索引等数据表对象 常用语句 create drop alter 等 2 DML 语句 数据操作语句 用于添加 删除 更新和查询数据库记录 insert delete update select 3 DCL 语句 数据控制语句 用于控制不同数据段直接的许可和访问级别的语句 这些语句定义了数据库 表 字段 用户的访问权限和安全级别

SQL分类

1、DDL语句:数据定义语句,用来定义不同的数据段、数据库,表,列,索引等数据表对象,常用语句:create、drop、alter等。

2、DML语句:数据操作语句,用于添加、删除、更新和查询数据库记录:insert,delete,update,select.

3、DCL语句:数据控制语句,用于控制不同数据段直接的许可和访问级别的语句。这些语句定义了数据库、表、字段、用户的访问权限和安全级别。主要的语句:grant、revoke

DDL语句

1.create创建数据库

mysql> create database test1;

Query OK, 1 row affected (0.00 sec)

如果创建时,数据库已经存在则会提示:

mysql> create database test1;

ERROR 1007 (HY000): Can’t create database ‘test1’; database exists

这时可以使用show命令来查看系统中有哪些数据库

mysql> show databases;

+——————–+

| Database |

+——————–+

| information_schema |

| db1 |

| db2 |

| db3 |

| homework |

| mysql |

| mysqlbook |

| performance_schema |

| test |

| test1 |

+——————–+

10 rows in set (0.00 sec)

2.删除数据库

语法drop + datavase + 数据库名:

mysql> drop database test1;

Query OK, 0 rows affected (0.02 sec)

注意,删除数据库时会将数据库下所有的表连同删除

3、创建表

创建表语法:

create table 表名(

字段名 数据类型 约束条件,

字段名 数据类型 约束条件,

字段名 数据类型 约束条件,

)

例如创建一个emp表,字段:ename、hiredate、sal,数据类型:varchar(10)、date、int(2)(后面会介绍数据类型)

create table emp(

ename varchar(10),

hiredate date,

sal decimal(10,2),

deptno int(2)

);

创建完成后可以输入以下命令查看表结构:

desc 表名

mysql> desc emp;

+———-+—————+——+—–+———+——-+

| Field | Type | Null | Key | Default | Extra |

+———-+—————+——+—–+———+——-+

| ename | varchar(10) | YES | | NULL | |

| hiredate | date | YES | | NULL | |

| sal | decimal(10,2) | YES | | NULL | |

| deptno | int(2) | YES | | NULL | |

+———-+—————+——+—–+———+——-+

4 rows in set (0.01 sec)

但是desc命令显示的信息不是最全的,全面信息可以用如下命令:

show create table +表名\G;

mysql> show create table emp\G;

* 1. row *

Table: emp

Create Table: CREATE TABLE `emp` (

`ename` varchar(10) DEFAULT NULL,

`hiredate` date DEFAULT NULL,

`sal` decimal(10,2) DEFAULT NULL,

`deptno` int(2) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 row in set (0.00 sec)

\G是使记录竖向排列

4、删除表

删除表的命令如下:

drop table 表名:

列如删除数据库中的emp表

drop table emp;

5、修改表

修改表设计到多方面,修改字段,删除字段、修改数据、修改数据类型以及约束条件等。

表的修改都使用到alter table语句

5.1 修改表字段的数据类型

语法:

alter table 表名 modify 字段名 数据类型 约束条件;

例如修改表emp的ename字段定义,把varchar(10)改为varchar(20):

mysql> alter table emp modify ename varchar(20);

Query OK, 0 rows affected (0.06 sec)

Records: 0 Duplicates: 0 Warnings: 0

#查看表结构

mysql> desc emp;

+———-+—————+——+—–+———+——-+

| Field | Type | Null | Key | Default | Extra |

+———-+—————+——+—–+———+——-+

| ename | varchar(20) | YES | | NULL | |

| hiredate | date | YES | | NULL | |

| sal | decimal(10,2) | YES | | NULL | |

| deptno | int(2) | YES | | NULL | |

+———-+—————+——+—–+———+——-+

4 rows in set (0.01 sec)

#ename字段的数据类型以及修改

5.2增加表字段

语法:

alter table 表名 add 字段名 数据类型 约束条件 [first/after 表名];

例如在emp中增加字段age,数据类型为int(3):

alter table emp add age int(3);

mysql> alter table emp add age int(3);

Query OK, 0 rows affected (0.03 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> desc emp;

+———-+—————+——+—–+———+——-+

| Field | Type | Null | Key | Default | Extra |

+———-+—————+——+—–+———+——-+

| ename | varchar(20) | YES | | NULL | |

| hiredate | date | YES | | NULL | |

| sal | decimal(10,2) | YES | | NULL | |

| deptno | int(2) | YES | | NULL | |

| age | int(3) | YES | | NULL | |

+———-+—————+——+—–+———+——-+

5 rows in set (0.01 sec)

可以在语句后面加first为加到表首字段,after+字段名表示在谁后面

5.3删除表字段

语法:alter table emp drop 字段名;

举例:删除age字段

mysql> alter table emp drop age;

Query OK, 0 rows affected (0.03 sec)

Records: 0 Duplicates: 0 Warnings: 0

mysql> desc emp;

+———-+—————+——+—–+———+——-+

| Field | Type | Null | Key | Default | Extra |

+———-+—————+——+—–+———+——-+

| ename | varchar(20) | YES | | NULL | |

| hiredate | date | YES | | NULL | |

| sal | decimal(10,2) | YES | | NULL | |

| deptno | int(2) | YES | | NULL | |

+———-+—————+——+—–+———+——-+

4 rows in set (0.01 sec)

5.4字段改名

语法:alter table 表名 change 字段名 新字段名 [约束条件]:

alter table emp change age age1 int(4);

注意:change 和modify都可以修改表的定义,不同的是change后面需要两次列表(新旧)

5.5修改表名

语法: alter table 表名 rename 新表名;

alter table emp rename emp1;

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/203274.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月19日 下午10:11
下一篇 2026年3月19日 下午10:12


相关推荐

  • int什么数据类型_SQL基本数据类型

    int什么数据类型_SQL基本数据类型 一开始看到Int16,Int32,Int64这三种类型就觉得有点怪,为什么要整个数字结尾的,这么干就是想让大家一眼就知道这个数据类型占多大空间吧.Int16,等于short,占2个字节.-3276832767Int32,等于int,占4个字节.-21474836482147483647Int64,等于long,占8个字节.-9223372036854…

    2022年8月15日
    5
  • 如何通过 Discord Bot 读取 Modal 表单中的用户输入内容

    如何通过 Discord Bot 读取 Modal 表单中的用户输入内容

    2026年3月12日
    4
  • .bat批处理基础

    .bat批处理基础批处理(Batch),也称为批处理脚本。顾名思义,批处理就是对某对象进行批量的处理,通常被认为是一种简化的脚本语言,它应用于DOS和Windows系统中。批处理文件的扩展名为bat。目前比较常见的批

    2022年7月3日
    27
  • java scanner 结束输入_Java Scanner语法

    java scanner 结束输入_Java Scanner语法1 导入 importjava util Scanner 2 创建对象 Scannerscan newScanner System in 一般变量名为 scan 或者 in 最后关闭 scan close 和 I O 流有关 暂不清楚 照抄先 3 next 读取字符串 要读取到有效字符后才结束输入 不能读取空格 即遇到空格就停 Scannerscan newScanner Syste

    2026年3月16日
    3
  • SLAM算法调研「建议收藏」

    SLAM算法调研「建议收藏」作为一名机器人运行控制算法工程师,SLAM算法的调研已初步完成,特意分享。

    2022年6月16日
    49
  • Java编程思想之【泛型擦除】

    Java编程思想之【泛型擦除】文章目录前言一 简单泛型 1 定义 2 作用 3 泛型二 泛型擦除 1 擦除的神秘之处迁移兼容性擦除的问题擦除补偿前言还记得几年去一间公司面试的时候 面试官问的技术方面的问题 其中一个就是关于擦除的问题 当时的我第一次接触面试有点紧张而且对擦除这个术语还不太了解 说白了当时我就是一个技术小白 现在也差不多啦 所以支支吾吾没怎么回答上来 幸好本人人品爆表 没回答上来也顺利入职了 由于当时没回答上来的尴尬情景依然历历在目 所以这次写这篇博文的目的以弥补技术上的模糊点

    2026年3月26日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号