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

所属分类: 数据库 / Mysql 阅读数: 1801
收藏 0 赞 0 分享

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中按照多字段排序及问题解决的方法,非常的实用,有需要的小伙伴可以参考下。
收藏 0 赞 0 分享

MySQL外键使用详解

两天有人问mysql中如何加外键,今天抽时间总结一下。mysql中MyISAM和InnoDB存储引擎都支持外键(foreign key),但是MyISAM只能支持语法,却不能实际使用。
收藏 0 赞 0 分享

Mysql中LAST_INSERT_ID()的函数使用详解

从名字可以看出,LAST_INSERT_ID即为最后插入的ID值,有了这个实用的函数,我们可以实现很多问题,下面我们就来深入探讨下。
收藏 0 赞 0 分享

MySql insert插入操作的3个小技巧分享

这篇文章主要介绍了MySql insert插入操作的3个小技巧分享,本文讲解了插入的数据来源自其他表、插入时排除(忽略)重复记录、插入时遇到重复记录做更新操作三个小技巧,需要的朋友可以参考下
收藏 0 赞 0 分享

mysql修改自增长主键int类型为char类型示例

这篇文章主要介绍了mysql修改自增长主键int类型为char类型示例,需要的朋友可以参考下
收藏 0 赞 0 分享

Windows下使用Cygwin编译MySQL客户端

这篇文章主要介绍了Windows下使用Cygwin编译MySQL客户端,本文详细的讲解了编译过程,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL数据库优化推荐的编译安装参数小结

这篇文章主要介绍了MySQL数据库优化推荐的编译安装参数小结,需要的朋友可以参考下
收藏 0 赞 0 分享

MySQL之Field‘***’doesn’t have a default value错误解决办法

这篇文章主要介绍了MySQL之Field‘***’doesn’t have a default value错误解决办法,需要的朋友可以参考下
收藏 0 赞 0 分享

php连接MySQL的两种方式对比

这篇文章主要介绍了php连接MySQL的两种方式对比,一种是原生的链接方式另外一种是PDO方式,附上示例,推荐给大家,有需要的小伙伴可以参考下
收藏 0 赞 0 分享

Mysql InnoDB删除数据后释放磁盘空间的方法

这篇文章主要介绍了Mysql InnoDB删除数据后释放磁盘空间的方法,Innodb数据库对于已经删除的数据只是标记为删除,并不真正释放所占用的磁盘空间,这就导致InnoDB数据库文件不断增长,本文就讲解释放磁盘空间的方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多