zoukankan      html  css  js  c++  java
  • (大数据工程师学习路径)第四步 SQL基础课程----修改和删除

    一、准备

    在正式开始本内容之前,需要先从github下载相关代码。该代码可以新建两个数据库,分别名为test_01mysql_shiyan ,并在mysql_shiyan数据库中建4个表(department,employee,project,table_1),然后向其中插入数据。

    具体操作如下,首先输入命令进入Desktop:

    cd Desktop
    

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

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

    下载完成后,输入“cd ~”(注意有空格)退回到原先目录,然后输入命令开启MySQL服务并使用root用户登录:

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

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

    输入命令运行这个文件,完成实验准备:

    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

  • 相关阅读:
    Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. ......
    UVA 1597 Searching the Web
    UVA 1596 Bug Hunt
    UVA 230 Borrowers
    UVA 221 Urban Elevations
    UVA 814 The Letter Carrier's Rounds
    UVA 207 PGA Tour Prize Money
    UVA 1592 Database
    UVA 540 Team Queue
    UVA 12096 The SetStack Computer
  • 原文地址:https://www.cnblogs.com/yangxiao99/p/4719285.html
Copyright © 2011-2022 走看看