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 ...
随机推荐
- ECshop中defined('IN_ECS')的实现原理
在PHP中经常看到如下代码 if (!defined('IN_ECS')) { die('Hacking attempt'); } 实现的原因以及原理如下: ecs ...
- mybatis中#{}和${}的区别
1. #将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111&qu ...
- ACM题目————小A的计算器
Description 以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-25分别由a-z表示. 现在小A要在这个操作系统上实现一个计算器,这 ...
- poj2888 Magic Bracelet
给你一个正n(<10^9)边形和m(<10)种色料,要求给正n边形顶点染色并且规定k组颜色对不能相邻, 输入保证n与mod互质,计数染色总方案数(绕图形中心旋转后相同的方案算一种)对mod ...
- Poj(1273),最大流,EK
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 69355 Accepted: 2687 ...
- SELECT INTO FROM mysql Undeclared variable
使用SELECT INTO FROM进行数据表和数据的复制时,会提示Error Code: 1327. Undeclared variable: 这是因为mysql 数据库不支持 SELECT INT ...
- 简单封装JDBC
package com.sunshine.frimework.tool;import java.sql.Connection;import java.sql.DriverManager;import ...
- BZOJ 1488: [HNOI2009]图的同构 polay
题意:两个图AB同构:把A的顶点重新编号后与B一模一样.求n个顶点的图一共有多少个?(同构的算一种) 思路:边有n*(n-1)/2,这些边可以有可以没有,所以等同于边的颜色有两种.然后将n划分成循环节 ...
- 【mark】linux 终端命令行下的快捷键(自己已验证所有)
说明: \c + a:表示ctrl+a \a + a:表示alt+a 命令列表: 1 移动: \c + a:将光标移到行首 \c + e:将光标移到行尾 \c + f:将光标向后(右)移动一个字符 \ ...
- Django 过滤器 实例
实例1 safe让Html标签以及一些特殊符号(如<)生效,下面以例子说明: # value = '<b>CPT</b>' # 那么输出的时候,CPT就是加粗的,如果不加 ...