MySQL DDL语句

这里介绍MySQL比较常用的DDL语句。包括如下:

  • create table
  • alter table
  • drop table
  • truncate table

1. create table

create table为建表语句,看如下几个示例:

  • 在列名后面声明主键

    create table t1(id int primary key, name varchar(20));

  • 在表级别声明主键

    create table t1(id int, name varchar(20),  primary key(id));

  • 多字段主键(只能在表级别声明)

    create table t1(id int, name varchar(20),  primary key(id, name));

  • 建表时指定索引

    create table t1(id int, name varchar(20),primary key(id),index idx_t1_name(name));

  • 建表时指定外键

    create table t3(id int, name varchar(20),primary key(id),constraint cst_t1_fk foreign key(id) references t2(id));

  • 在表的结尾声明表的属性如存储引擎和字符集等等

    create table t1(id int, name varchar(20),  primary key(id, name)) engine=innodb default charset=utf8;

  • 使用if not exists关键字。如果这个表不存在则建立这个表,如果已经存在则报一个warning

    create table if not exists t1(id int, name varchar(20), primary key(id));

  • 表建立完成后可以用desc t1;或show create table t1\G查看表的结构,一般情况下desc出来的结果已经够用,但是如果要获得建表的语句最好用show create table t1\G

 2. alter table

alter table可以修改表的结构和属性,以下alter table后面的语句可以使用逗号分隔在同一条语     句中执行。看如下几个示例:

  • 增加字段

    alter table t1 add (column) age int;=======>默认增加字段到表的最后,column关键字可以省略

    alter table t1 add (column) age first;=======>增加字段到表的开头

    alter table t1 add (column) age after name;=======>增加字段到name字段之后

  • 修改字段

    alter table t1 modify age tinyint; ========>修改字段数据类型

    alter table t1 modify age tinyint first; ========>修改字段数据类型并将字段移动到表的开头

    alter table t1 modify age tinyint after id;========>修改字段数据类型并将字段移动到字段id之后

    alter table t1 change age student_age tinyint; ========>修改字段名称和数据类型

  • 删除字段

    alter table t1 drop (column) age;

  • 添加索引

    alter table t1 add index idx_t1_name(name);=======>添加普通索引,index关键字可以换成key,idx_t1_name为索引的名称

    alter table t1 add unique index idx_t1_name(name);=======>添加唯一索引

  • 删除索引

    alter table t1 drop index idx_t1_name;

  • 删除主键

    alter table add drop primary key;

  • 添加主键

    alter table add primary key(id);

  • 添加外键

    alter table t1 add constraint cst_t1_fk foreign key(id) references t2(id);

  • 删除外键

    alter table t1 drop foreign key cst_t1_fk;

  • 重命名表 (下面三种语句都可以)

    rename table t1 to t2;

    alter table t1 rename t2;

    alter table t1 rename to t2;

  • 修改存储引擎或者字符集

    alter table t1 engine=myisam;

    alter table t1 default charset=latin1;

3. drop table

    意思很简单,把表删除。

drop table t1; =========>直接删除表,如果没有这个表会报错

drop table if exists t1; ========>如果没有这个表不会报错,只会报一个warning

 4. truncate table

truncate table为截断表的命令,相当于把这个表删除并立即重建。

truncate table t1;

时间: 2024-09-30 09:53:18

MySQL DDL语句的相关文章

mysql DDL语句(数据定义语言)

1.create database yxm; //创建数据库 2.drop  database yxm;  //删除数据库 3.create table yxm; //创建表 4.drop table yxm;//删除表 5.alter table yxm modify yname varchar(20);  //修改表类型 6.alter table yxm add column age int(3); //增加表字段 7.alter table yxm drop column age; //

Mysql基础之准备及DDL语句

SQL语言概述 SQL(Structured Query Language)语言的全称是结构化查询语言.数据库管理系统通过SQL语言来管理数据库中的数据.SQL语言分为三个部分:数据定义语言(Data Definition Language,简称为DDL).数据操作语言(Data Manipulation Language,简称为DML)和数据控制语言(Data Control Language,简称为DCL).DDL语句:CREATE.ALTER.DROPDML语句:update.insert

mysql基础(DDL语句)

DDL语句(DDL:数据定义语言) 1.创建数据库:create database test1; 2.显示数据库:show databases; 3.选择数据库:use mysql; 4.查询数据库所有的表:show tables; 5.删除数据库:drop database test1; 6.创建表:create table emp(ename varchar(10),hiredate date,sal decimal(10,2),deptno int(2)); 7.查看表结构: mysql>

详解MySQL第一篇—MySQL简要介绍及DDL语句

背景:近几年,开源数据库逐渐流行起来.由于具有免费使用.配置简单.稳定性好.性能优良等优点,开源数据库在中低端应用上占据了很大的市场份额,而 MySQL 正是开源数据库中的杰出代表.MySQL 数据库目前分为社区版(Community Server)和企业版(Enterprise),它们最重要的区别在于:社区版是自由下载而且完全免费的,但是官方不提供任何技术支持,适用于大多数普通用户:而企业版则是收费的,不能在线下载,相应地,它提供了更多的功能和更完备的技术支持,更适合于对数据库的功能和可靠性要

mysql存储过程执行ddl语句

根据业务需要,需要在存储过程自动创建表 CREATE PROCEDURE parameter_split(in table_name VARCHAR(30),in start_time BIGINT(16),in end_time BIGINT(16)) BEGIN -- 得到时间 DECLARE table_year VARCHAR(5); DECLARE table_month VARCHAR(3); DECLARE table_day VARCHAR(3); -- 按开始时间设置年月日,并

MySQL基础(二)——DDL语句

MySQL基础(二)--DDL语句 1.什么是DDL语句,以及DDL语句的作用 2.基本的数据库对象包括哪些 3.建表语句 4.修改表结构的语句

MySQL数据库上:DDL语句的基础巩固

SQL语言包括四种主要程序设计语言类别的语句:数据定义语言(DDL),数据操作语言(DML),数据控制语言(DCL)和事务控制语言. 数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言.一个数据库模式包含该数据库中所有实体的描述定义.数据库模式定义语言并非程序设计语言,DDL数据库模式定义语言是SQL语言(结构化程序设计语言)的组成部分. 下面给出一个完整的DDL语句练习过程,在MySQL6测试通过: //创建数据库 cre

Mysql常用语句总结

对MySql经常使用语句的详细总结 下面总结的知识点全是经常用的,全都是干货,好好收藏吧./* 启动MySQL */ net start mysql /* 连接与断开服务器 */ mysql -h 地址 -P 端口 -u 用户名 -p 密码 /* 跳过权限验证登录MySQL */ mysqld --skip-grant-tables -- 修改root密码 密码加密函数password() update mysql.user set password=password('root'); SHOW

MySQL Dll语句

标签:MYSQL数据库/DBA/删除数据库表 概述 因为遇到一些事情,从发表上一篇文章到现在中间间隔了好几个月时间:在接下来的时间里会陆续发表关于mysql的一些文章,从基础到优化最后到管理,欢迎关注讨论. 正文 创建数据库 CREATE DATABASE DBNAME; 删除数据库 DROP DATABASE DBNAME; 显示所有表 show tables; 创建表 CREATE TABLE TABLENAME(CLUMN CLU_LEN) CREATE TABLE Person (ID