DDL之操作表
DDL之操作表
DDL是数据定义语言,用来定义数据库对象:数据库、表、列等。其中定义数据库我们已经在DDL之操作数据库中详细讲解了,今天我们来学习使用DDL操作表。
1.创建表
使用数据定义语言创建表,其格式为:
CREATE TABLE [IF NOT EXISTS] 表名(
列名 列类型,
列名 列类型,
...
列名 列类型
);
其中,表名后面的内容需要使用“()”括起来,里面的内容是表结构,由列名和列类型组成,列名与列类型之间用空格隔开,每一列之间用逗号隔开,最后一列后面不需要加逗号,语句结束后需要加“;”。
下面我们在dos窗口下使用以上语句创建一个表,如图1-1所示:

图1-1 创建表
图1-1中,表tb_stu的字段有number,name,age,gender,其中number的类型是char(11),因为今后添加的数据的number值要与“itcast_0001“格式一致,因此使用固定长度的字符串类型;而name的值的长度不确定,因此使用可变长度的字符串类型;age代表年龄,类型是int类型,gender代表的是性别,这里允许它的值是“男”、“女”、“male”、“female”,所以类型是可变长度的字符串。
图1-1中,创建表的语句比较长,这样不方便阅读,因此建议大家这样写,如图1-2所示:

图1-2 创建表
在图1-2中,语句的结束是由“;”来结束的,这样写阅读性比较好。
2.查看当前数据库中的所有表
查看当前数据库中的所有表的语句是:show tables,这个与查看所有数据库很像。下面我们来查看user数据库中的所有表,如图1-3所示:

图1-3 查看user中的所有表
图1-3中,user数据库中一共有四个表。
3. 查看指定表的创建语句
查看指定表的创建语句:show create table 表名,这个语句大家只需要了解即可,其用法如图1-4所示:

图1-4 查看指定表的创建语句
4.查看表的结构
所谓表的结构就是表的列的相关信息,查看表的结构的语句:desc 表名,下面我们来查看user数据库中的tb_stu表结构,如图1-5所示:

图1-5 查看tb_stu的表结构
5.删除表
删除表的语句与删除数据库的语句类似:drop table 表名;为了防止删除一个不存在的表而报错,使用:drop table if exists 表名,如果不存在就不删除,如果存在就删除,如图1-6所示:

图1-6 删除一个不存在表
图1-6中,删除的表是table1,但是user数据库中并没有这个表。删除一个存在的表,例如tb_stu1,然后再查看user数据库的所有表,如图1-7所示:

图1-7 删除一个存在的表
6.修改表
修改表的语句为:ALTER TABLE 表名 … …,修改表包括以下几种情况:
l 添加列:
ALTER TABLE 表名 ADD (
列名 列类型,
列名 列类型,
...
);
l 修改列类型:ALTER TABLE 表名 MODIFY 列名 列的新类型,如果被修改的列中已存在数据,那么列的新类型会影响已存在的数据;
l 修改列名称:ALTER TABLE 表名 CHANGE 原列名 新列名 列类型;
l 删除列:ALTER TABLE 表名 DROP 列名;
l 修改表名:ALTER TABLE 表名 RENAME TO新表名。
(1)下面我们逐个练习以上修改语句,首先在表tb_stu中添加新的列,如图1-8所示:

图1-8 修改表之添加列
(2)修改表tb_stu的education列的类型,如图1-9所示:

图1-9 修改列类型
(3)修改表tb_stu的education列名为edu,如图1-10所示:

图1-10 修改列名称
图1-10中,修改education列的名称修改的同时也可以将列类型修改了。例如:alter table tb_stu change education edu varchar(50)。
(4)删除表tb_stu的education列,如图1-11所示:

图1-11 删除表中的列
(5)修改表的名称,将表名称tb_stu修改为student,如图1-12所示:

图1-12 修改表的名字
DDL之操作表的更多相关文章
- MySQL学习——操作表
MySQL学习——操作表 摘要:本文主要学习了使用DDL语句操作表的方法. 创建表 语法 create table 表名 [表定义选项] [表选项]; 表定义选项 用来创建定义表的结构,由列名(col ...
- DDL数据定义语言
DDL数据定义语言 (一)概述 DDL(Data Definition Language):数据定义语言,用来定义数据库对象,库.表.列等:创建.删除.修改 库,表结构.主要分为操作数据库的DDL和操 ...
- Mastering MariaDB 神秘的MariaDB 中文翻译版
是某群的哥们义务翻译的,宣传一下,还没时间时间读,粗滤看了全部翻译完了300多页佩服 https://github.com/CMant/Mastering-MariaDB- 原地址:如果你需要读,请s ...
- MySQL安装卸载、idea中Database的使用、常用的sql语句
MySQL安装卸载 MySQL安装 在下面的资源链接中下载MySQL软件压缩包(绿色版),这个版本是MySQL5.7.29的,本教程也只适用于这个绿色版的,如果下载的是安装包那就可能有些地方不一样了, ...
- DDL 操作表结构
DDL 操作表结构:CRUD 一.C(create)创建 1.创建表 create table 表名( 列名1 数据类型1, 列名2 数据类型2, 列名3 数据类型3, ... 列名n 数据类型n ) ...
- Mysql笔记——DDL
数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言.一个数据库模式包含该数据库中所有实体的描述定义. =========== ...
- 【mysql】数据库中的DML DDL DCL TCL 及 Online DDL
DDL(data definition language) : 数据库定义语言 用来定义创建操作表的时候用到的一些sql命令,比如CREATE.ALTER.DROP等等. DML(data manip ...
- DB2创建表、操作表等常用命令
转载:http://hi.baidu.com/ufobject/item/7fd03aeebf7be1266dabb881 一.创建库表 1.创建库 1).创建数据语句 CREATE DATABASE ...
- Oracle数据库DDL,DML,视图,PLSQL编程
动手敲~~~ --创建一个表空间--beijing create tablespace beijing datafile 'c:\beijing.dbf' size 100m autoextend o ...
随机推荐
- [ios][opengles]GLKit如何搭一个app的框架
一个外文对GLKit的讲解: Beginning OpenGL ES 2.0 with GLKit Part 1 英文原文链接:http://www.raywenderlich.com/5223 ...
- ACM题目————二叉树的遍历
一.二叉树的后序遍历: 题目描述 给定一颗二叉树,要求输出二叉树的深度以及后序遍历二叉树得到的序列.本题假设二叉树的结点数不超过1000 输入 输 入数据分为多组,第一行是测试数据的组数n,下面的n行 ...
- MySQL 及 SQL 注入
如果您通过网页获取用户输入的数据并将其插入一个MySQL数据库,那么就有可能发生SQL注入安全的问题. 本章节将为大家介绍如何防止SQL注入,并通过脚本来过滤SQL中注入的字符. 所谓SQL注入,就是 ...
- Wormholes 分类: POJ 2015-07-14 20:21 21人阅读 评论(0) 收藏
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 35235 Accepted: 12861 Descr ...
- 验证码识别--type7
验证码识别--type7 一.干扰分析 有黑色边框,然后点干扰,线干扰 去边框 去点干扰 变成这样的结果,方便运算吗?也可以多种方式联合起来运算的.我相信在很多情况下,都可能会遇到类似的结果.我们人类 ...
- HTML+CSS编写规范
在任何一个项目或者系统开发之前都需要定制一个开发约定和规则,这样有利于项目的整体风格统一.代码维护和扩展.由于Web项目开发的分散性.独立性.整合的交互性等,所以定制一套完整的约定和规则显得尤为重要. ...
- Camera 图像处理原理分析
1 前言 做为拍照手机的核心模块之一,camera sensor效果的调整,涉及到众多的参数,如果对基本的光学原理及sensor软/硬件对图像处理的原理能有深入的理解和把握的话,对我们 ...
- 用re-sign.jar重签名apk后安装失败的解决办法
问题 打开re-sign.jar,将下载好的apk拖入re-sign.jar的界面进行重签名.重签名成功后,通过adb intall命令安装重签名后的apk文件失败.提示:Failure [INSTA ...
- acdream 1093 女神的正多面体
http://acdream.info/problem?pid=1093 女神的正多面体 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 12 ...
- 解决maven的“Dynamic Web Module 3.0 requires Java 1.6 or newer.”错误
需要添加一个插件,在build标签中添加 <plugins> <plugin> <groupId>org.apache.maven.plugins</grou ...