zoukankan      html  css  js  c++  java
  • mysql基础篇

    基础篇 - 数据库及表的修改和删除

     
     
     
     

    修改和删除

    一、实验简介

    本节实验中,我们将学习并实践如何对数据库的内容做修改,删除,重命名等操作。

    二、实验准备

    在正式开始本实验内容之前,需要先下载相关代码。

    该代码可以新建两个数据库,分别名为 test_01 和mysql_shiyan ,并在 mysql_shiyan 数据库中建 4 个表(department,employee,project,table_1),然后向其中插入数据。

    具体操作如下,首先输入命令进入 /home/shiyanlou/Desktop 目录:

    cd /home/shiyanlou/Desktop
    

    然后再输入命令,下载代码:

    git clone http://git.shiyanlou.com/shiyanlou/SQL5
    

    下载完成后,输入命令开启 MySQL 服务并使用 root 用户登录:

    #打开 MySQL 服务
    sudo service mysql start        
    
    #使用 root 用户登录
    mysql -u root
    

    下载的 SQL5 目录下,有 1 个文件 MySQL-05.sql (SQL5 目录在桌面上,你可以用 Gedit 查看、编辑里面的文件。)

    加载文件中的数据,需要在 MySQL 控制台中输入命令,完成实验准备:

    source /home/shiyanlou/Desktop/SQL5/MySQL-05.sql
    

    三、实验内容

    1、对数据库的修改

    使用命令 SHOW DATABASES; 可以看到刚才运行MySQL-05.sql 文件生成的两个数据库:

    01

    现在我们运行命令删除名为 test_01 的数据库:

    DROP DATABASE test_01;
    

    现在再次使用命令 SHOW DATABASES; 可以发现,test_01 数据库已经被成功删除:

    02

    2、对一张表的修改

    (1) 重命名一张表

    重命名一张表的语句有多种形式,以下 3 种格式效果是一样的:

    RENAME TABLE 原名 TO 新名字;
    
    ALTER TABLE 原名 RENAME 新名;
    
    ALTER TABLE 原名 RENAME TO 新名;
    

    使用命令尝试修改 table_1 的名字为 table_2 :

    03

    (2)删除一张表

    删除一张表的语句,类似于刚才用过的删除数据库的语句,格式是这样的:

    DROP TABLE 表名字;
    

    比如我们把 table_2 表删除:

    04

    3、对一列的修改(即对表结构的修改)

    对表结构的修改,是本节实验的难点,有时候一些小的错误会造成不可挽回的后果,所以请细心操作。另外需要注意,不是必需尽量避免更改表结构。

    (1)增加一列

    在表中增加一列的语句格式为:

    ALTER TABLE 表名字 ADD COLUMN 列名字 数据类型 约束;
    
    或: ALTER TABLE 表名字 ADD 列名字 数据类型 约束;
    

    现在 employee 表中有 id、name、age、salary、phone、in_dpt 这6个列,我们尝试加入 height (身高)一个列并指定DEFAULT 约束:

    05

    可以发现:新增加的列,被默认放置在这张表的最右边。如果要把增加的列插入在指定位置,则需要在语句的最后使用AFTER关键词(“AFTER 列1” 表示新增的列被放置在 “列1” 的后面)。

    比如我们新增一列 weight (体重)放置在 age (年龄)的后面:

    06

    上面的效果是把新增的列加在某位置的后面,如果想放在第一列的位置,则使用 FIRST 关键词,如语句:

    ALTER TABLE employee ADD test INT(10) DEFAULT 11 FIRST;
    

    效果如下:

    07

    (2)删除一列

    删除表中的一列和刚才使用的新增一列的语句格式十分相似,只是把关键词 ADD 改为 DROP ,语句后面不需要有数据类型、约束或位置信息。具体语句格式:

    ALTER TABLE 表名字 DROP COLUMN 列名字;
    
    或: ALTER TABLE 表名字 DROP 列名字;
    

    我们把刚才新增的 test 删除:

    08

    (3)重命名一列

    这条语句其实不只可用于重命名一列,准确地说,它是对一个列做修改(CHANGE) :

    ALTER TABLE 表名字 CHANGE 原列名 新列名 数据类型 约束;
    

    注意:这条重命名语句后面的 “数据类型” 不能省略,否则重命名失败。

    当原列名和新列名相同的时候,指定新的数据类型或约束,就可以用于修改数据类型或约束。需要注意的是,修改数据类型可能会导致数据丢失,所以要慎重使用。

    我们用这条语句将 “height” 一列重命名为汉语拼音 “shengao” ,效果如下:

    09

    (4)改变数据类型

    要修改一列的数据类型,除了使用刚才的CHANGE语句外,还可以用这样的MODIFY语句:

    ALTER TABLE 表名字 MODIFY 列名字 新数据类型;
    

    再次提醒,修改数据类型必须小心,因为这可能会导致数据丢失。在尝试修改数据类型之前,请慎重考虑。

    4、对表的内容修改

    (1)修改表中某个值

    大多数时候我们需要做修改的不会是整个数据库或整张表,而是表中的某一个或几个数据,这就需要我们用下面这条命令达到精确的修改:

    UPDATE 表名字 SET 列1=值1,列2=值2 WHERE 条件;
    

    比如,我们要把 Tom 的 age 改为 21,salary 改为 3000:

    10

    注意:一定要有WHERE条件,否则会出现你不想看到的后果

    (2)删除一行记录

    删除表中的一行数据,也必须加上WHERE条件,否则整列的数据都会被删除。删除语句:

    DELETE FROM 表名字 WHERE 条件;
    

    我们尝试把Tom的数据删除:

    11

    四、总结

    本节实验中我们学习了对数据库、数据库表、数据库表项及记录的修改和删除方法。

    五、作业

    1. 按照实验过程完整操作一遍:先用下载的代码建立数据库并插入数据,然后试用各种修改语句。实验过程截图。
    2. 使用没有 WHERE 条件的 UPDATE 语句,查看有什么不良后果(截图并说明)。
  • 相关阅读:
    设计模式学习总结系列应用实例
    【研究课题】高校特殊学生的发现及培养机制研究
    Linux下Oracle11G RAC报错:在安装oracle软件时报file not found一例
    python pro practice
    openstack python sdk list tenants get token get servers
    openstack api
    python
    git for windows
    openstack api users list get token get servers
    linux 流量监控
  • 原文地址:https://www.cnblogs.com/mrchige/p/6349150.html
Copyright © 2011-2022 走看看