zoukankan      html  css  js  c++  java
  • mysql表的创建、查看、修改、删除

    一、创建表

    创建表前先使用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>
    
  • 相关阅读:
    语音信号端点检测
    WEBPACK & BABEL 打包项目
    使用 Qt 获取 UDP 数据并显示成图片(2)
    QSS为Qt程序添加不一样的样式
    window 搜索大文件
    Idea java 编译发生 cannot find symbol
    JetBeans Tab键相关设置
    JetBean Rider 重命名 c# 程序集名
    Unity 导入其他工程
    列出当前文件夹下的以log结尾的文件名
  • 原文地址:https://www.cnblogs.com/ay-a/p/11483958.html
Copyright © 2011-2022 走看看