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之操作表的更多相关文章

  1. MySQL学习——操作表

    MySQL学习——操作表 摘要:本文主要学习了使用DDL语句操作表的方法. 创建表 语法 create table 表名 [表定义选项] [表选项]; 表定义选项 用来创建定义表的结构,由列名(col ...

  2. DDL数据定义语言

    DDL数据定义语言 (一)概述 DDL(Data Definition Language):数据定义语言,用来定义数据库对象,库.表.列等:创建.删除.修改 库,表结构.主要分为操作数据库的DDL和操 ...

  3. Mastering MariaDB 神秘的MariaDB 中文翻译版

    是某群的哥们义务翻译的,宣传一下,还没时间时间读,粗滤看了全部翻译完了300多页佩服 https://github.com/CMant/Mastering-MariaDB- 原地址:如果你需要读,请s ...

  4. MySQL安装卸载、idea中Database的使用、常用的sql语句

    MySQL安装卸载 MySQL安装 在下面的资源链接中下载MySQL软件压缩包(绿色版),这个版本是MySQL5.7.29的,本教程也只适用于这个绿色版的,如果下载的是安装包那就可能有些地方不一样了, ...

  5. DDL 操作表结构

    DDL 操作表结构:CRUD 一.C(create)创建 1.创建表 create table 表名( 列名1 数据类型1, 列名2 数据类型2, 列名3 数据类型3, ... 列名n 数据类型n ) ...

  6. Mysql笔记——DDL

    数据库模式定义语言DDL(Data Definition Language),是用于描述数据库中要存储的现实世界实体的语言.一个数据库模式包含该数据库中所有实体的描述定义.   =========== ...

  7. 【mysql】数据库中的DML DDL DCL TCL 及 Online DDL

    DDL(data definition language) : 数据库定义语言 用来定义创建操作表的时候用到的一些sql命令,比如CREATE.ALTER.DROP等等. DML(data manip ...

  8. DB2创建表、操作表等常用命令

    转载:http://hi.baidu.com/ufobject/item/7fd03aeebf7be1266dabb881 一.创建库表 1.创建库 1).创建数据语句 CREATE DATABASE ...

  9. Oracle数据库DDL,DML,视图,PLSQL编程

    动手敲~~~ --创建一个表空间--beijing create tablespace beijing datafile 'c:\beijing.dbf' size 100m autoextend o ...

随机推荐

  1. 【转】Eclipse Console 加大显示的行数,禁止弹出

    转载地址:http://blog.csdn.net/leidengyan/article/details/5686691 Eclipse Console 加大显示的行数: 在 Preferences- ...

  2. Network Saboteur 分类: 搜索 POJ 2015-08-09 19:48 7人阅读 评论(0) 收藏

    Network Saboteur Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 10147 Accepted: 4849 Des ...

  3. JAVA基础知识之网络编程——-基于NIO的非阻塞Socket通信

    阻塞IO与非阻塞IO 通常情况下的Socket都是阻塞式的, 程序的输入输出都会让当前线程进入阻塞状态, 因此服务器需要为每一个客户端都创建一个线程. 从JAVA1.4开始引入了NIO API, NI ...

  4. ASP函数大全

    ASP函数大全 Array() FUNCTION: 返回一个数组 SYNTAX: Array(list) ARGUMENTS: 字符,数字均可 EXAMPLE: <% Dim myArray() ...

  5. windows7安装phpnow Apache非管理员权限不能操作Windows NT服务的解决方法

    科普一下:PHPnow 是什么?        Win32 下绿色免费的 Apache + PHP + MySQL 环境套件包.简易安装.快速搭建支持虚拟主机的 PHP 环境,可以安装 Discuz! ...

  6. C++ UTF8 UrlEncode(宽字符)(转载)

    转载:http://www.cnblogs.com/newcj/p/3645749.html #include "UrlEncode.h" #include <string& ...

  7. iOS静态库和动态库的区别

    一.什么是库? 库是共享程序代码的方式,一般分为静态库和动态库. 静态库:链接时完整地拷贝至可执行文件中,被多次使用就有多份冗余拷贝. 动态库:链接时不复制,程序运行时由系统动态加载到内存,供程序调用 ...

  8. Linux下指定版本编译安装LAMP

    说明: 操作系统:CentOS 6.5 64位 需求: 编译安装LAMP运行环境 各软件版本如下: MySQL:mysql-5.1.73 Apache:httpd-2.2.31 PHP:php-5.2 ...

  9. 在JSP页面中输出字符" * "组成的金字塔

    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding= ...

  10. 【leetcode❤python】13. Roman to Integer

    #-*- coding: UTF-8 -*-#从前向后遍历罗马数字,#如果某个数比前一个数小,则加上该数.反之,减去前一个数的两倍然后加上该数###-----技术规则-----#----------- ...