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

 更新时间:2020年08月04日 14:41:18   作者:Jack_黄  
这篇文章主要介绍了MySQL数据定义语言DDL的基础语句,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

MySQL DDL 语句

什么是DDL,DML。

DDL 是数据定义语言,就是对数据库,表层面的操作,如 CREATE,ALTER,DROP。DML 是数据操作语言,也就是对表中数据的增删改查,如 SELECT,UPDATE,INSERT,DELETE。

 假设现在有数据库 lian_xi 里面有表 user 和 orders;

1.1登陆MySQL环境

在cmd窗口中输入mysql -u root -p登录MySQL环境

1.2查看数据库

Show databases;

1.3使用数据库

Use 数据库名;

Use lian_xi;

1.4创建数据库

Create database 数据库名;

Create database lian_xi;

1.5删除数据库

Drop database 数据库名;

Drop database lian_xi;

1.6创建表

Create table 表名(
列名1 类型(长度) [约束],
列名 2 类型(长度)[约束],

);
CREATE TABLE user(
id INT AUTO_INCREMENT PRIMARY KEY COMMENT ‘用户id(主键)',
username VARCHAR(50) COMMENT ‘用户姓名',
age CHAR(3) COMMENT ‘用户年龄'
);

注意:

CREATE TABLE orders( 
	`id` INT UNSIGNED AUTO_INCREMENT, 
	`orders_title` VARCHAR(100) NOT NULL, 
	`orders_price` DOUBLE NOT NULL, 
	`create_date` DATE, 
	PRIMARY KEY ( `id` ) 
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。 PRIMARY KEY关键字用于定义列为主键。
您可以使用多列来定义主键,列间以逗号分隔。 ENGINE 设置存储引擎,CHARSET 设置编码。

Int类型:带长度,不影响存取值,即使设定的值超出了长度的范畴,也能存,如果没有达到设定的长度,便使用空格自动填充到设定的长度。
Char类型:不可变字符,设定的长度就是规定的长度,当前字段自动能存的最大长度,若超出长度便会报错,若没有到达指定的长度便用空格填充。
Varchar类型:可变字符串,设定的长度同样是规定当前字段能存的最大长度,若超出长度便会报错,若没有到达指定长度,不会用空格填充,实际多长就是多长。

表的约束

非空约束 not null 唯一性约束unique 默认值约束default 男 主键约束 primary key 外键约束
foreign key 检查约束(目前MySQL不支持、Oracle支持)

1.7删除表

Drop table 表名;

Drop table user;

1.8修改表重命名表名

Rename table 原表名 to 新表名;

Rename table user to user_table;

新增列
给user表新增列hobby,(comment 后面跟 ‘注释' 或者 ‘描述' 。需要单引号括起来);

Alter table user add column hobby varchar(100) comment '爱好' not null;
ALTER TABLE user_table ADD COLUMN hobby VARCHAR(100) NOT NULL COMMENT '爱好';

新增注释
给表user_table增加注释【个人信息表】,注释需要单引号 ‘圈起来'

alter table user_table comment = '个人信息表';

删除列
删除user_table hobby列(危险:不要随意删除)

alter table user_table drop column hobby;

修改列名
Alter table 表名 change 列名 新列名 类型;

Alter table user change name username varchar(55);

修改列类型
Alter table 表名 change 列名 列名 类型;

Alter table user change name name char(4);

修改列类型
Alter table 表名 modify 列名 新类型;

Alter table user modify name char(4);

1.9索引添加索引

给表 user 的主键 id 添加索引;
UNIQUE为索引类型,可替换索引类型为:
UNIQUE|FULLTEXT|SPATIAL,
mysql 支持的其他索引类型分别为primary key,非唯一索引(默认)

create unique index ind_user_id on user(id);

删除索引
删除表 user 的 ind_user_id 索引;

drop index ind_user_id on user;

MySQL其它文章,请看下面链接

MySQL DDL 语句

MySQL CRUD 语句

MySQL 聚合函数

MySQL 多表查询

END…

到此这篇关于MySQL数据定义语言DDL的基础语句的文章就介绍到这了,更多相关MySQL数据定义语言DDL内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • MySQL如何开启远程连接权限

    MySQL如何开启远程连接权限

    这篇文章主要介绍了MySQL如何开启远程连接权限问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-09-09
  • 解决Mysql数据库插入数据出现问号(?)的解决办法

    解决Mysql数据库插入数据出现问号(?)的解决办法

    这篇文章主要介绍了解决Mysql数据库插入数据出现问号(?)的解决办法的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07
  • MySQL学习之事务与并发控制

    MySQL学习之事务与并发控制

    这篇文章主要介绍了MySQL中的事务与并发控制,一个事务可以理解为一组操作,这一组操作要么全部执行,要么全部不执行,想了解更多的小伙伴,可以参考阅读本文
    2023-03-03
  • 手把手教你使用Navicat查询表的详细结构

    手把手教你使用Navicat查询表的详细结构

    在使用Navicat时,我们可以通过执行一些SQL语句来查看表结构,下面这篇文章主要给大家介绍了关于如何使用Navicat查询表的详细结构,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-05-05
  • mysql中point的使用详解

    mysql中point的使用详解

    MySQL的point函数是一个用于处理空间坐标系的函数,它可以将两个数值作为参数,返回一个Point对象,这篇文章主要介绍了mysql中point的使用,需要的朋友可以参考下
    2023-07-07
  • 解决mysql不是内部或外部命令的问题

    解决mysql不是内部或外部命令的问题

    这篇文章主要介绍了解决mysql不是内部或外部命令的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-06-06
  • 正确理解Mysql中的列索引和多列索引

    正确理解Mysql中的列索引和多列索引

    本篇文章是对Mysql中的列索引和多列索引进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • linux/mac安装mysql忘记密码的解决办法

    linux/mac安装mysql忘记密码的解决办法

    这篇文章主要给大家介绍了关于linux/mac安装mysql忘记密码的解决办法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2017-10-10
  • 一文带你搞懂MySQL的MVCC机制

    一文带你搞懂MySQL的MVCC机制

    MySQL中的MVCC机制想必大家都有所耳闻吧,虽然在平时MySQL使用过程中基本上用不到,但是面试中出场率十分高,那么你对MVCC机制了解多少呢,MVCC机制是用来干嘛的呢,底层的工作原理是怎么样的呢,本文就带你一探究竟
    2023-07-07
  • mysql_ssl_rsa_setup的具体使用

    mysql_ssl_rsa_setup的具体使用

    mysql_ssl_rsa_setup 是一个MySQL附带的工具,用于自动创建SSL证书和密钥文件,本文主要介绍了mysql_ssl_rsa_setup的具体使用,感兴趣的可以了解一下
    2024-07-07

最新评论