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内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

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

    MySQL 8.0开始支持原子数据定义语言(DDL)语句.此功能称为原子DDL.原子DDL语句将与DDL操作关联的数据字典更新,存储引擎操作和二进制日志写入组合到单个原子事务中.即使服务器在操作期间暂停,也会提交事务,并将适用的更改保留到数据字典,存储引擎和二进制日志,或者回滚事务. 通过在MySQL 8.0中引入MySQL数据字典,可以实现Atomic DDL.在早期的MySQL版本中,元数据存储在元数据文件,非事务性表和存储引擎特定的字典中,这需要中间提交.MySQL数据字典提供的集中式事务

  • MySQL8.0 DDL原子性特性及实现原理

    1. DDL原子性概述 8.0之前并没有统一的数据字典dd,server层和引擎层各有一套元数据,sever层的元数据包括(.frm,.opt,.par,.trg等),用于存储表定义,分区表定义,触发器定义等信息:innodb层也有自己一套元数据,包括表信息,索引信息等,这两套元数据并没有机制保证一致性,这就导致了在异常情况下可能存在元数据不一致问题,一种典型场景下,删表操作,sever层的frm已经成功删除了,但引擎层数据字典并没有更新,导致再建重名表失败的问题.同样的,比如drop tabl

  • MySQL在线DDL gh-ost使用总结

    背景: 作为一个DBA,大表的DDL的变更大部分都是使用Percona的pt-online-schema-change,本文说明下另一种工具gh-ost的使用:不依赖于触发器,是因为他是通过模拟从库,在row binlog中获取增量变更,再异步应用到ghost表的.在使用gh-ost之前,可以先看GitHub 开源的 MySQL 在线更改 Schema 工具[转]文章或则官网了解其特性和原理.本文只对使用进行说明. 说明: 1)下载安装:https://github.com/github/gh-

  • 解决MySQL 5.7中定位DDL被阻塞的问题

    在上篇文章<MySQL表结构变更,不可不知的Metadata Lock>中,我们介绍了MDL引入的背景,及基本概念,从"道"的层面知道了什么是MDL.下面就从"术"的层面看看如何定位MDL的相关问题. 在MySQL 5.7中,针对MDL,引入了一张新表performance_schema.metadata_locks,该表可对外展示MDL的相关信息,包括其作用对象,类型及持有等待情况. 开启MDL的instrument 但是相关instrument并没有

  • MySQL曝中间人攻击Riddle漏洞可致用户名密码泄露的处理方法

    针对MySQL 5.5和5.6版本的Riddle漏洞会经由中间人攻击泄露用户名密码信息.请尽快更新到5.7版本. Riddle漏洞存在于DBMS Oracle MySQL中,攻击者可以利用漏洞和中间人身份窃取用户名和密码. "Riddle是一个在Oracle MySQL 5.5和5.6客户端数据库中发现的高危安全漏洞.允许攻击者在中间人位置使用Riddle漏洞破坏MySQL客户端和服务器之间的SSL配置连接."漏洞描述写道."此漏洞是一个非常危险的漏洞,因为首先它会影响MyS

  • 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

  • MySQL教程数据定义语言DDL示例详解

    目录 1.SQL语言的基本功能介绍 2.数据定义语言的用途 3.数据库的创建和销毁 4.数据库表的操作(所有演示都以student表为例) 1)创建表 2)修改表 3)销毁表 如果你是刚刚学习MySQL的小白,在你看这篇文章之前,请先看看下面这些文章.有些知识你可能掌握起来有点困难,但请相信我,按照我提供的这个学习流程,反复去看,肯定可以看明白的,这样就不至于到了最后某些知识不懂却不知道从哪里下手去查. <MySQL详细安装教程> <MySQL完整卸载教程> <这点基础都不懂

  • MySQL数据库之数据表操作DDL数据定义语言

    目录 一.创建数据表 二.查询数据表 三. 删除数据表 四.修改数据表以及字段 一.创建数据表 数据表:一个二维的表格,一个表格是由多列组成,表格中的每一类称之为表格的字段 以上述学生信息表格为例在MySQL数据库中创建一张表格,语句如下(注:创建前应选择相应的数据库): create table students( stu_num char(8) not null unique, stu_name varchar(20) not null, stu_gender char(2) not nul

  • MySQL的备份工具mysqldump的基础使用命令总结

    MySQL数据库的备份工具有很多,不过这里介绍的是一个小巧好用的mysqldump工具,位于数据库目录下bin/mysqldump.exe.这几天用phpMyAdmin备份数据库的时候出现乱码,反复在本地跟远程的Dreamhost空间上测试了数据库,但是还是导出数据库会出现乱码,应该是phpMyAdmin出现的问题,数据库本身没有问题.扯远咯,呵呵.我Google到的关于mysqldump工具的相关用法. 如果主机主机支持 Shell 的话,可以 SSH 登陆主机,执行如下的命令实现备份与恢复,

  • SQL语句中的DDL类型的数据库定义语言操作

    目录 SQL语句之DDL类型的数据库定义语言 1.DDL类型的SQL语句基本概述 2.DDL类型的SQL语句之数据库层面的操作 2.1.创建一个数据库 2.2.查看MySQL中有哪些数据库 2.3.进入某个数据库 2.4.查看当前处于哪个数据库中 3.DDL类型的SQL语句之数据库表层面的操作 3.1.创建一张数据表 3.2.查看当前数据库中所有的数据表 3.3.查询某张表的表结构 3.4.查询某张表的建表语句 3.5.在现有表中添加新的字段 3.6.修改现有表中的字段数据类型和字段名称 3.7

  • MySQL之浅谈DDL和DML

    目录 前言 一.DDL 1.1 数据库操作 1.2 数据表操作 1.3 常用数据类型 1.4 约束 1.5 标识列  二.DML 2.1 添加数据 2.2 修改数据 2.3 删除数据 前言         在前面的文章中我们认识了MySQL,以及熟悉了如何使用MySQL的查询语句         数据操作增删查改中的查我们已经介绍了,那么本篇文章将会介绍剩下的增删改以及数据库和表的常用操作,比如创建.删除.修改. 一.DDL         可能有看官老爷会问,什么是DDL啊?这里博主简单介绍一

  • PHP连接MySQL数据的操作要点

    MySQL扩展库操作MySQL数据库的步骤如下: 1:获取连接. 2:选取书库. 3:设置操作编码. 4:发送SQL指令(MySQL数据库可以分为四种指令: 4.1:ddl: 数据定义语言. 4.2:dml:数据操语言(如CURD): 4.3:dql:数据查询语言.(如select) 4.4:dtl:数据事物语言. 5:接收返回结果,并且处理. 6:断开连接. 具体的示例代码如下: 复制代码 代码如下: <?php  //1:连接数据库      $con=mysql_connect("l

  • MySQL数据操作-DML语句的使用

    说明 DML(Data Manipulation Language)数据操作语言,是指对数据库进行增删改的操作指令,主要有INSERT.UPDATE.DELETE三种,代表插入.更新与删除,这是学习MySQL必要掌握的基本知识. 方语法中 [] 中内容可以省略. INSERT操作 逐行插入 语法格式如下: insert into t_name[(column_name1,columnname_2,...)] values (val1,val2); 或者 insert into t_name se

  • mysql增删改查基础语句

    语法 这里是INSERT INTO命令将数据插入到MySQL表的通用SQL语法: INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN ); 要插入字符串类型数据,则需要双或单引号保留到所有的值,例如: "value". 1.从命令提示符插入数据 这将使用SQL 的INSERT INTO命令将数据插入到MySQL表:tutorials_tbl 示例 root@host#

  • MySQL学习笔记之数据定义表约束,分页方法总结

    本文实例讲述了MySQL学习笔记之数据定义表约束,分页方法.分享给大家供大家参考,具体如下: 1. primary key 主键 特点:主键是用于唯一标识一条记录的约束,一张表最多只能有一个主键,不能为空也不能重复 create table user1(id int primary key,name varchar(32)); mysql> insert into user1 values(1,'hb'); Query OK, 1 row affected (0.10 sec) mysql>

随机推荐