`
chenzehe
  • 浏览: 539525 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MySQL DDL语句

 
阅读更多

     DDL语句是定义语言的缩写,是对数据库内部的对象进行创建、删除、的操语句,它和DML语句最大的区别是DML只对表的数据进行操作,而不涉及表的定义、结构的修改,更不会涉及其它对象。

 

0、连接mysql

mysql -uxxx -pxxx -h192.168.0.123 -Pxxx

 

1、创建数据库

CREATE DATABASE dbname;

 

2、查看有哪些数据库

SHOW DATABASES;

 

3、选择将要操作的数据库

USE dbname;

 

4、删除数据库

DROP DATABASE dbname;

 

5、创建表 

CREATE TABLE tablename(id INT(11) NOT NULL,name VARCHAR(256) NOT NULL);

 

6、查看表结构信息 

DESC tablename;
或:
SHOW CREATE TABLE tablename;

 

7、删除表

DROP TABLE tablename;

 

8、修改表

8.1修改表类型

语法:

ALTER TABLE tablename MODIFY [COLUMN] column_definition [FIRST | AFTER col_name]

如将上表的name varchar(256)改成char(128):




ALTER TABLE tablename MODIFY name CHAR(128) NOT NULL;

 8.2增加表字段

语法:
ALTER TABLE tablename ADD [COLUMN] column_definition [FIRST | AFTER col_name];
如给上表添加age字段:
ALTER TABLE tablename ADD age INT(11) NOT NULL;

 8.3删除表字段

语法:
ALTER TABLE tablename DROP [COLUMN] col_name;
如删除上表age字段:
ALTER TABLE tablename DROP age;

8.4字段改名

语法:
ALTER TABLE tablename CHANGE [COLUMN] old_col_name new_col_definition [FIRST | AFTER col_name];
如修改上表字段name名为uname:
ALTER TABLE tablename CHANGE name uname CHAR(128);

    CHANGE和MODIFY都可以修改表字段定义,不同的是CHANGE写两次字段名,但是CHANGE可以修改列名,而MODIFY则不能。

8.5修改字段排列顺序

    上面介绍的修改表定义后面都有一个可选项目[FIRST | AFTER col_name],这个选项可以用来修改字段在表中的顺序,ADD新增字段的默认位置是在表的最后,CHANGE和MODIFY默认不改动字段的位置。

    如:

在上表中添加birth字段,并放到列id后面:
ALTER TABLE tablename ADD birth DATETIME AFTER id;
再次修改,把它放到uname表后面:
ALTER TABLE tablename MODIFY birth DATETIME NOT NULL AFTER uname;

 8.6修改表名

语法:
ALTER TABLE tablename RENAME [TO] new_tablename;
如把上面表名tablename改成test:
ALTER TABLE tablename RENAME test;

 8.7修改表引擎

      http://chenzehe.iteye.com/blog/1558543

 

9、锁表

锁表:
FLUSH TABLES WITH READ LOCK;
解锁:
UNLOCK TABLES;

 

10、创建索引

1.ALTER TABLE

ALTER TABLE用来创建普通索引、UNIQUE索引或PRIMARY KEY索引。 
ALTER TABLE table_name ADD INDEX index_name (column_list)
ALTER TABLE table_name ADD UNIQUE (column_list)
ALTER TABLE table_name ADD PRIMARY KEY (column_list)

2.CREATE INDEX

CREATE INDEX可对表增加普通索引或UNIQUE索引。
CREATE INDEX index_name ON table_name (column_list)
CREATE UNIQUE INDEX index_name ON table_name (column_list)

 

11、删除索引

可利用ALTER TABLE或DROP INDEX语句来删除索引。类似于CREATE INDEX语句,DROP INDEX可以在ALTER TABLE内部作为一条语句处理,语法如下。 

DROP INDEX index_name ON talbe_name
ALTER TABLE table_name DROP INDEX index_name
ALTER TABLE table_name DROP PRIMARY KEY 

其中,前两条语句是等价的,删除掉table_name中的索引index_name。
第3条语句只在删除PRIMARY KEY索引时使用,因为一个表只可能有一个PRIMARY KEY索引,因此不需要指定索引名。如果没有创建PRIMARY KEY索引,但表具有一个或多个UNIQUE索引,则MySQL将删除第一个UNIQUE索引。

 

 

 

 

分享到:
评论

相关推荐

    MySQL ddl语句的使用

    DDL 数据定义语言 create、drop、alter 数据定义语言 create、drop、alter 语句 。 DML 数据操纵语言 insert、delete、update 定义对数据库记录的增、删、改操作。 DQL 数据库查询语言 select 定义对数据库...

    python小工具-sqlserver ddl转换为mysql规范ddl

    图形化实现sqlserver转换为mysql ddl(需字段注释) 应用于数据库、新老系统迁移,提升开发效率。

    MySQL数据定义语言DDL的基础语句

    MySQL DDL 语句 什么是DDL,DML。 DDL 是数据定义语言,就是对数据库,表层面的操作,如 CREATE,ALTER,DROP。DML 是数据操作语言,也就是对表中数据的增删改查,如 SELECT,UPDATE,INSERT,DELETE。  假设现在有...

    mysqlddl的使用

    本篇文章将深入探讨mysqlddl的使用,以及其在数据库管理中的重要性。 首先,让我们理解什么是DDL。DDL语句主要用于定义数据库的结构,比如CREATE TABLE用于创建新表,ALTER TABLE用于修改已有的表结构,DROP TABLE...

    mysql语句转postgres的工具

    1. **DDL转换**:该工具能够解析MySQL的CREATE TABLE、ALTER TABLE等DDL语句,并将其转换为PostgreSQL可以理解的语法。这涉及到字段类型、约束、索引等的映射,例如,MySQL的`ENUM`类型在PostgreSQL中可能需要转换为...

    MySQL见表语句转换为java实体bean

    我自己没事时写的,一直在用 从MySQL客户端右键表 查看详细信息 复制DDL语句 粘贴到文本框中就可以了

    MySQL之DDL语句

    在本示例中,主要展示了如何使用DDL语句创建、修改和删除MySQL数据库中的表。 首先,创建用户表`t_user`: ```sql create table t_user( id int primary key auto_increment, username varchar(40), password ...

    MySQL学习笔记(1) – DDL语句

    MySQL学习笔记(1)主要介绍了如何使用DDL语句来操作MySQL数据库,包括创建、查看、修改和删除数据库及表。DDL是数据定义语言,用于定义数据库中的各种对象,如数据库、表、列和索引。在实践中,常用的DDL关键字有`...

    从excel模版生成数据库表DDL,excel设计mysql,excel设计表格模板转成mysql表文件,

    4. **导入MySQL**:将生成的DDL语句复制到MySQL管理工具(如MySQL Workbench或命令行客户端),执行创建表的操作。 这种方法的优点在于提高了设计效率,减少了手动编写DDL语句的错误,尤其适合于数据库结构复杂或者...

    数据库_ddl_

    `DDL-MySQL.sql` 文件则很可能是一个包含MySQL DDL语句的脚本,用于创建或修改MySQL数据库的表格和其他对象。这个脚本可能会演示如何使用`CREATE TABLE`语句来定义一个新的表格,包括指定列的名称、数据类型和长度,...

    kettle批量导出mysql建表语句

    在这个场景中,“kettle批量导出mysql建表语句”是一个关于如何使用Kettle来自动化地从MySQL数据库中提取建表语句,包括数据表和视图的创建语句,以便于备份或在其他环境中重建相同结构的过程。 首先,我们需要了解...

    数据库文档生成器,根据数据库表DDL生成markdown和word文档.zip

    数据库文档生成是数据库管理中的一个重要环节,它有助于开发者和DBA更好地理解和维护...在实际使用过程中,根据具体的数据库系统(如MySQL、PostgreSQL、Oracle等)和团队需求,可能需要对工具进行适当的调整和配置。

    mysql代码-DDL语句测试

    本测试着重于理解和运用MySQL的DDL语句,包括但不限于创建表、修改表结构、删除表以及管理数据库对象。 在"main.mysql"文件中,我们可能找到了一系列用于测试的DDL语句实例。这些语句可能包括创建新表的`CREATE ...

    mysql批量导出建表语句.zip

    MySQL批量导出建表语句是一项常见的数据库管理任务,它涉及到数据库备份、迁移或复制到新的环境。在本例中,"mysql批量导出建表语句.zip" 是一个压缩包,包含了一种使用Kettle(也称为Pentaho Data Integration,...

    ddlparse:DDL parase并转换为BigQuery JSON模式和DDL语句

    DDL parase并转换为BigQuery JSON模式和DDL语句模块,可在Python中使用。 特征 DDL解析并获取表架构信息。 当前,仅支持CREATE TABLE语句。 转换为和。 支持的数据库是MySQL / MariaDB,PostgreSQL,Oracle,...

    MySQL语法语句大全MySQL语法语句大全

    以下是一份全面的MySQL语法语句概述: 一、数据定义(DDL - Data Definition Language) 1. 创建数据库:`CREATE DATABASE 数据库名;` 2. 删除数据库:`DROP DATABASE 数据库名;` 3. 创建表:`CREATE TABLE 表名 ...

    (My)SQL DDL语句

    1:DDL语句:数据定义语言。常用关键字主要包括create、drop、alter等。 2:DML语句:数据操纵语言,用于添加、删除、更新、查找。其只对表内部数据进行操作,而不涉及表的定义和结构的修改。常用关键字主要包括insert、...

    MySQL8.0新特性之支持原子DDL语句

    - 当从MySQL 5.7主服务器向8.0从服务器复制时,需要注意由于`DROP TABLE`行为的改变,可能会导致部分完成的DDL语句在从服务器上失败。为了避免此类问题,建议使用`IF EXISTS`语法来预防对不存在表的删除。 总之,...

    Mysql转oracle工具

    "mysqltooracle_cn"这个工具可能包含了自动化的转换功能,它能帮助解析MySQL的DDL语句并生成相应的Oracle DDL,同时也可能包含数据迁移的逻辑。 在实际操作中,应先备份源数据库,然后根据工具的使用指南逐步进行...

Global site tag (gtag.js) - Google Analytics