一、创建表

创建表前先使用use 数据库名进入某一个数据库,创建表语句的格式如下:

create table 表名称 (
列名1 列的数据类型 [约束],
列名2 列的数据类型 [约束],
列名2 列的数据类型 [约束],
...
列名N 列的数据类型 [约束]
);
#注意:最后一个末尾没有逗号

比如创建一个表名称为students,有name和age两列的表的命令为:

create table students (
name varchar(20),
age INTEGER
);

创建完之后通过show tables命令,就可以看到刚创建的表了,如下所示:

mysql> create table students (
-> name varchar(20) ,
-> age INTEGER
-> );
Query OK, 0 rows affected (0.60 sec) mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| students |
+----------------+
1 row in set (0.00 sec) mysql>

注意:所有mysql语句都是使用的英文的符号!

二、查看表

  1. 查看数据库中所有表,使用show tables命令,例如:

    mysql> show tables;
    +----------------+
    | Tables_in_mydb |
    +----------------+
    | students |
    +----------------+
    1 row in set (0.00 sec)
  2. 查看表字段信息,使用desc 表名称,例如查看上面创建的students表的字段,可以使用desc students命令,执行结果如下:

    mysql> show tables;
    +----------------+
    | Tables_in_mydb |
    +----------------+
    | students |
    +----------------+
    1 row in set (0.00 sec)
  3. 查看表的创建细节,使用命令show create table 表名称,例如查看上面创建的students表创建细节,可以使用show create table students命令,显示了创建表的完整sql语句。执行结果如下:

    mysql> show create table students;
    +----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | Table | Create Table |
    +----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
    | students | CREATE TABLE `students` (
    `name` varchar(20) DEFAULT NULL,
    `age` int(11) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |
    +----------+--------------------------------------------------------------------------------------------------------------------------------------------------------------+
    1 row in set (0.00 sec) mysql>

三、修改表

​ 数据库表创建完成后,我们还可以根据需要对表结构进行修改,比如增加字段,删除字段,重命名字段,修改字段的数据类型和修改表的字符集等。

  1. 增加字段,使用命令alter table 表名称 add 字段名称 数据类型,比如在上面创建的students表中增加一列score的命令为alter table students add score INTEGER,执行结果如下:

    #增加前查看表结构
    mysql> desc students;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | name | varchar(20) | YES | | NULL | |
    | age | int(11) | YES | | NULL | |
    +-------+-------------+------+-----+---------+-------+
    2 rows in set (0.00 sec) #增加一列
    mysql> alter table students add score INTEGER;
    Query OK, 0 rows affected (0.80 sec)
    Records: 0 Duplicates: 0 Warnings: 0 #增加后再查看表结构,score已经增加了
    mysql> desc students;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | name | varchar(20) | YES | | NULL | |
    | age | int(11) | YES | | NULL | |
    | score | int(11) | YES | | NULL | |
    +-------+-------------+------+-----+---------+-------+
    3 rows in set (0.05 sec) mysql>
  2. 修改字段名称,使用命令alter table 表名称 change 原字段名称 新字段名称 数据类型,比如将students表中score字段重命名为socre1,使用的命令为alter table students change score score1 INTEGER,执行结果如下:

    mysql> desc students;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | name | varchar(20) | YES | | NULL | |
    | age | int(11) | YES | | NULL | |
    | score | int(11) | YES | | NULL | |
    +-------+-------------+------+-----+---------+-------+
    3 rows in set (0.05 sec)
    # 重命名字段
    mysql> alter table students change score score1 INTEGER;
    Query OK, 0 rows affected (0.33 sec)
    Records: 0 Duplicates: 0 Warnings: 0 mysql> desc students;
    +--------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +--------+-------------+------+-----+---------+-------+
    | name | varchar(20) | YES | | NULL | |
    | age | int(11) | YES | | NULL | |
    | score1 | int(11) | YES | | NULL | |
    +--------+-------------+------+-----+---------+-------+
    3 rows in set (0.00 sec) mysql>
  3. 删除字段,使用命令alter table 表名称 drop 字段名称 来删除字段,比如将students表中score1字段删除的命令为alter table students drop score1

  4. 修改表名称,使用命令rename table 原表名称 to 新表名称 ,比如将students表名称修改为studentstab的命令为rename table students to studentstab

  5. 修改表的字符集,使用命令alter table 表名称 character set 字符集,比如将students表字符集修改为utf8的命令为alter table students character set utf8

四、删除表

​ 删除表的命令很简单,格式为drop table 表名称,比如删除上面创建的students表的sql语句为drop table students,执行结果如下,表已经被删除了:

mysql> show tables;
+----------------+
| Tables_in_mydb |
+----------------+
| students |
+----------------+
1 row in set (0.00 sec) mysql> drop table students;
Query OK, 0 rows affected (0.50 sec) mysql> show tables;
Empty set (0.00 sec) mysql>

mysql表的创建、查看、修改、删除的更多相关文章

  1. MySQL 表的创建、修改、删除

    1.创建表 create table 表名 ( 列名 类型 是否可以为空 列名 类型 是否可以为空 ) engine=innodb default charset=utf8; 是否可以为控制.null ...

  2. (转) mysql的连接,创建账号,修改密码

    原文:http://blog.chinaunix.net/uid-20749043-id-1878306.html  mysql的连接,创建账号,修改密码 2008-10-13 15:31:29 分类 ...

  3. Django之集合函数使用与mysql表的创建特殊字段分析

    1. 集合函数的使用场景: -- 单独使用: 不分组, 只查聚合结果 -- 分组使用: 按字段分组, 可查询分组字段与聚合结果 2. 导入聚合函数 from django.db.models impo ...

  4. mysql语句3-插入、修改删除表

    二.DML数据操纵语句 关键字:insert(插入)  delete(删除)  update(更新)  select(查询) 1.表创建好以后,就可以插入记录了,语法如下: 方法一 :insert i ...

  5. <<< Oracle表空间创建、修改、删除基本操作

    ORACLE 中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象 create tablespace myts  //建立表空间,名为mytsd ...

  6. MySQL表的创建和表中数据操作

    这篇文章主要介绍在navicat的命令界面操作mysql.主要涉及建立表结构,和对表中数据的增加删除修改查询等动作.站在一个新手角度的简单mysql表结构和数据操作. ☆ 准备工作 1,保证自己的电脑 ...

  7. mysql表分区、查看分区

    原文地址:http://blog.csdn.net/feihong247/article/details/7885199 一.       mysql分区简介 数据库分区 数据库分区是一种物理数据库设 ...

  8. MySQL表的创建与维护

    一.导入测试数据 [root@server ~]# wget https://launchpadlibrarian.net/24493586/employees_db-full-1.0.6.tar.b ...

  9. MySQL视图-(视图创建,修改,删除,查看,更新数据)

    视图是一种虚拟存在的表,对于使用视图的用户来说基本上是透明的.视图并不在数据库中实际存在,行和列数据来自定义视图的查询总使用的表,并且是在使用视图时动态生成的. 视图相对于普通表的优势: 简单:使用视 ...

随机推荐

  1. oracle 导出,导入表

    导出 exp DZQZ/DZQZ@orcl file=D:/DZQZ.dmp log=D:/DZQZ.log 导入 imp DZQZ/DZQZ@orcl file=D:\电子取证\DZQZ.dmp f ...

  2. EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器解决方案之Nodejs调用bat或sh脚本

    关于EasyDSS流媒体服务器 EasyDSS商用流媒体服务器解决方案是一套集流媒体点播.转码与管理.直播.录像.检索.时移回看于一体的一套完整的商用流媒体服务器解决方案,EasyDSS高性能RTMP ...

  3. darkflow测试和训练yolo

    转自 https://blog.csdn.net/u011961856/article/details/76582669参考自github:https://github.com/thtrieu/dar ...

  4. [LeetCode] 769. Max Chunks To Make Sorted 可排序的最大块数

    Given an array arr that is a permutation of [0, 1, ..., arr.length - 1], we split the array into som ...

  5. 锈迹材质全流程实例:Blender-》SP-》UE4

    转自:https://dawnarc.com/2018/03/next-gen%E9%94%88%E8%BF%B9%E6%9D%90%E8%B4%A8%E5%85%A8%E6%B5%81%E7%A8% ...

  6. mysql 连接远程阿里云数据库

    一.修改mysql 数据库的远程访问权限 use mysql; SELECT HOST,user,PASSWORD FROM USER; -- 查询用户信息 UPDATE USER SET HOST= ...

  7. spring boot使用AOP统一处理web请求

    为了保证服务的高可用,及时发现问题,迅速解决问题,为应用添加log是必不可少的. 但是随着项目的增大,方法增多,每个方法加单独加日志处理会有很多冗余 那在SpringBoot项目中如何统一的处理Web ...

  8. Git 查看更改

    当向仓库中添加文件或删除文件后,可能需要查看更改. 查看更改有多种方式. 1.查看状态 # git status 结果 1 2 # 位于分支 master 无文件要提交,干净的工作区 2.查看日志 # ...

  9. .Net Core 3 骚操作 之 用 Windows 桌面应用开发 Asp.Net Core 网站

    前言 曾经在开发 Asp.Net 网站时就在想,为什么一定要把网站挂到 IIS 上?网站项目的 Main 函数哪儿去了?后来才知道这个 Main 函数在 w3wp.exe 里,这也是 IIS 的主进程 ...

  10. mysql新增用户无法授权!? 解决方案

    先上解决方法  :) 创建用户cat 密码 CREATE USER '; 修改user表中的注册用户cat update user set host='%' where user='cat'; 授权: ...