• ADADADADAD

    表记录增删改查[ mysql数据库 ]

    mysql数据库 时间:2024-12-25 09:56:17

    作者:文/会员上传

    简介:

    案例1:INSERT插入表记录案例2:UPDATE和DELETE案例3:SELECT查询表记录案例4:WHERE简单匹配案例5:WHERE高级匹配案例6:整理查询结果案例7:备份数据库资料案例8:恢复数据库1 案例1:INSER

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    案例1:INSERT插入表记录案例2:UPDATE和DELETE案例3:SELECT查询表记录案例4:WHERE简单匹配案例5:WHERE高级匹配案例6:整理查询结果案例7:备份数据库资料案例8:恢复数据库

    1 案例1:INSERT插入表记录
    1.1 问题

    本例要求以前一章的studb库stuinfo表为基础,学会表格记录的多种不同插入方法,完成下列任务:

    1)进入studb库,向 stuinfo表批量插入如图-1所示数据

    2)确认表格stuinfo的数据内容
    1.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:进入studb库,向stuinfo表批量插入以下数据

    记录内容如下:

    NTD2020110007 周伯通 男 17012341234 昆嵛山全真教总部

    NTD2020110008 王重阳 男 17012340001 昆嵛山全真教总部

    NTD2020110009 段王爷 男 17566666666 云南大理桃源山

    INSERT插入记录操作:

    MariaDB [studb]> INSERTINTOstuinfoVALUES -> ('NTD2020110007', '周伯通', '男', '17012341234', '昆嵛山全真教总部'), -> ('NTD2020110008', '王重阳', '男', '17012340001', '昆嵛山全真教总部'), -> ('NTD2020110009', '段王爷', '男', '17566666666', '云南大理桃源山');Query OK, 3 rows affected (0.01 sec)Records: 3Duplicates: 0Warnings: 0MariaDB [studb]>

    步骤二:确认表格 stuinfo 的数据内容

    查看表格内容,确认新增加的3条记录。

    MariaDB [studb]> SELECT*FROMstuinfo;+---------------+-----------+--------+--------------+--------------------------+| 学号| 姓名| 性别 | 联系电话 | 通信地址 |+---------------+-----------+--------+--------------+--------------------------+| NTD2020110001 | 郭靖| 男 | 13145201314| 东海桃花岛 || NTD2020110002 | 黄蓉| 女 | 13145201413| 东海桃花岛 || NTD2020110003 | 华筝| 女 | 13705666777| 蒙古大营 || NTD2020110004 | 洪七公| 男 | 13888888888| 太湖北丐帮总舵 || NTD2020110005 | 欧阳锋| 男 | 18777777777| 西域白驼山庄 || NTD2020110006 | 黄药师| 男 | 18999999999| 东海桃花岛 || NTD2020110007 | 周伯通| 男 | 17012341234| 昆嵛山全真教总部 || NTD2020110008 | 王重阳| 男 | 17012340001| 昆嵛山全真教总部 || NTD2020110009 | 段王爷| 男 | 17566666666| 云南大理桃源山 |+---------------+-----------+--------+--------------+--------------------------+9 rows in set (0.00 sec)MariaDB [studb]> 

    2 案例2:UPDATE和DELETE
    2.1 问题

    本例要求学会UPDATE和DELETE的语句的操作方法,完成下列任务:

    1)更新 stuinfo 表中的数据记录

    将 姓名='黄药师' 的人的联系电话修改为 '13566778899'将 姓名='洪七公' 的人的姓名修改为 '洪七'

    2)删除 stuinfo 表中 姓名='洪七公' 的数据记录

    3)确认表格 stuinfo 的数据内容
    2.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:更新stuinfo表中的数据记录

    1)将 姓名='黄药师' 的人的联系电话修改为 '13566778899'

    MariaDB [studb]> UPDATEstuinfoSET联系电话='13566778899'WHERE姓名='黄药师';Query OK, 1 row affected (0.00 sec)Rows matched: 1Changed: 1Warnings: 0MariaDB [studb]>

    2)将 姓名='洪七公' 的人的姓名修改为 '洪七'

    MariaDB [studb]> UPDATEstuinfoSET姓名='洪七'WHERE姓名='洪七公';Query OK, 1 row affected (0.00 sec)Rows matched: 1Changed: 1Warnings: 0MariaDB [studb]>

    步骤二:删除stuinfo表中 姓名='洪七公' 的数据记录

    此时表格中已经没有姓名为“洪七公”的记录(只有“洪七”),所有不会有记录被删除。

    MariaDB [studb]> DELETEFROMstuinfoWHERE姓名='洪七公';Query OK, 0 rows affected (0.00 sec)MariaDB [studb]>

    步骤三:确认表格stuinfo的数据内容

    检查修改后的表格内容:

    MariaDB [studb]> SELECT*FROMstuinfo;+---------------+-----------+--------+--------------+--------------------------+| 学号| 姓名| 性别 | 联系电话 | 通信地址 |+---------------+-----------+--------+--------------+--------------------------+| NTD2020110001 | 郭靖| 男 | 13145201314| 东海桃花岛 || NTD2020110002 | 黄蓉| 女 | 13145201413| 东海桃花岛 || NTD2020110003 | 华筝| 女 | 13705666777| 蒙古大营 || NTD2020110004 | 洪七| 男 | 13888888888| 太湖北丐帮总舵 || NTD2020110005 | 欧阳锋| 男 | 18777777777| 西域白驼山庄 || NTD2020110006 | 黄药师| 男 | 13566778899| 东海桃花岛 || NTD2020110007 | 周伯通| 男 | 17012341234| 昆嵛山全真教总部 || NTD2020110008 | 王重阳| 男 | 17012340001| 昆嵛山全真教总部 || NTD2020110009 | 段王爷| 男 | 17566666666| 云南大理桃源山 |+---------------+-----------+--------+--------------+--------------------------+9 rows in set (0.00 sec)MariaDB [studb]> 

    3 案例3:SELECT查询表记录
    3.1 问题

    本例要求学会SELECT语句的操作方法,查询stuinfo表,完成下列任务:

    1)列出表中每一条记录的 姓名、联系电话

    2)列出表中 性别='女' 的详细数据记录

    3)列出表中 性别='女' 的记录的 姓名、联系电话

    4)列出stuinfo表中 通信地址='东海桃花岛' 的详细数据记录
    3.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:列出表中每一条记录的 姓名、联系电话

    MariaDB [studb]> SELECT姓名,联系电话FROMstuinfo;+-----------+--------------+| 姓名| 联系电话 |+-----------+--------------+| 郭靖| 13145201314|| 黄蓉| 13145201413|| 华筝| 13705666777|| 洪七| 13888888888|| 欧阳锋| 18777777777|| 黄药师| 13566778899|| 周伯通| 17012341234|| 王重阳| 17012340001|| 段王爷| 17566666666|+-----------+--------------+9 rows in set (0.00 sec)MariaDB [studb]> 

    步骤二:列出表中 性别='女' 的详细数据记录

    MariaDB [studb]> SELECT*FROMstuinfoWHERE性别='女';+---------------+--------+--------+--------------+-----------------+| 学号| 姓名 | 性别 | 联系电话 | 通信地址|+---------------+--------+--------+--------------+-----------------+| NTD2020110002 | 黄蓉 | 女 | 13145201413| 东海桃花岛|| NTD2020110003 | 华筝 | 女 | 13705666777| 蒙古大营|+---------------+--------+--------+--------------+-----------------+2 rows in set (0.00 sec)MariaDB [studb]> 

    步骤三:列出表中 性别='女' 的记录的 姓名、联系电话

    MariaDB [studb]> SELECT姓名,联系电话FROMstuinfoWHERE性别='女';+--------+--------------+| 姓名 | 联系电话 |+--------+--------------+| 黄蓉 | 13145201413|| 华筝 | 13705666777|+--------+--------------+2 rows in set (0.00 sec)MariaDB [studb]>

    步骤四:列出stuinfo表中 通信地址='东海桃花岛' 的详细数据记录

    MariaDB [studb]> SELECT*FROMstuinfoWHERE通信地址='东海桃花岛';+---------------+-----------+--------+--------------+-----------------+| 学号| 姓名| 性别 | 联系电话 | 通信地址|+---------------+-----------+--------+--------------+-----------------+| NTD2020110001 | 郭靖| 男 | 13145201314| 东海桃花岛|| NTD2020110002 | 黄蓉| 女 | 13145201413| 东海桃花岛|| NTD2020110006 | 黄药师| 男 | 13566778899| 东海桃花岛|+---------------+-----------+--------+--------------+-----------------+3 rows in set (0.01 sec)MariaDB [studb]> 

    4 案例4:WHERE简单匹配
    4.1 问题

    本例要求学会WHERE条件匹配的简单应用,针对stuinfo表中的数据执行查询,完成下列任务:

    1)列出表中 通信地址!='东海桃花岛' 的数据记录

    2)列出表中 通信地址='东海桃花岛' 而且 性别='女' 的数据记录

    3)列出表中 通信地址='蒙古大营' 或者 性别='女' 的数据记录
    4.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:列出表中 通信地址!='东海桃花岛' 的数据记录

    MariaDB [studb]> SELECT*FROMstuinfoWHERE通信地址!='东海桃花岛';+---------------+-----------+--------+--------------+--------------------------+| 学号| 姓名| 性别 | 联系电话 | 通信地址 |+---------------+-----------+--------+--------------+--------------------------+| NTD2020110003 | 华筝| 女 | 13705666777| 蒙古大营 || NTD2020110004 | 洪七| 男 | 13888888888| 太湖北丐帮总舵 || NTD2020110005 | 欧阳锋| 男 | 18777777777| 西域白驼山庄 || NTD2020110007 | 周伯通| 男 | 17012341234| 昆嵛山全真教总部 || NTD2020110008 | 王重阳| 男 | 17012340001| 昆嵛山全真教总部 || NTD2020110009 | 段王爷| 男 | 17566666666| 云南大理桃源山 |+---------------+-----------+--------+--------------+--------------------------+6 rows in set (0.00 sec)MariaDB [studb]> 

    步骤二:列出表中 通信地址='东海桃花岛' 而且 性别='女' 的数据记录

    MariaDB [studb]> SELECT*FROMstuinfoWHERE通信地址='东海桃花岛'AND性别='女';+---------------+--------+--------+--------------+-----------------+| 学号| 姓名 | 性别 | 联系电话 | 通信地址|+---------------+--------+--------+--------------+-----------------+| NTD2020110002 | 黄蓉 | 女 | 13145201413| 东海桃花岛|+---------------+--------+--------+--------------+-----------------+1 row in set (0.00 sec)MariaDB [studb]> 

    步骤三:列出表中 通信地址='蒙古大营' 或者 性别='女' 的数据记录

    MariaDB [studb]> SELECT*FROMstuinfoWHERE通信地址='蒙古大营'OR性别='女';+---------------+--------+--------+--------------+-----------------+| 学号| 姓名 | 性别 | 联系电话 | 通信地址|+---------------+--------+--------+--------------+-----------------+| NTD2020110002 | 黄蓉 | 女 | 13145201413| 东海桃花岛|| NTD2020110003 | 华筝 | 女 | 13705666777| 蒙古大营|+---------------+--------+--------+--------------+-----------------+2 rows in set (0.00 sec)MariaDB [studb]>

    注意:WHERE条件子句适用于SELECT、UPDATE、DELETE操作
    5 案例5:WHERE高级匹配
    5.1 问题

    本例要求学会WHERE条件匹配的高级应用,针对stuinfo表中的数据执行查询,完成下列任务:

    1)列出表中 姓名 为 郭靖、黄蓉、欧阳锋、黄药师 的数据记录

    2)列出表中 通信地址 包括 '全真教' 字串的数据记录

    3)列出表中 姓名 只有 两个字 的数据记录
    5.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:列出表中 姓名 为 郭靖、黄蓉、欧阳锋、黄药师 的数据记录

    MariaDB [studb]> SELECT*FROMstuinfoWHERE姓名IN ('郭靖', '黄蓉', '欧阳锋', '黄药师');+---------------+-----------+--------+--------------+--------------------+| 学号| 姓名| 性别 | 联系电话 | 通信地址 |+---------------+-----------+--------+--------------+--------------------+| NTD2020110001 | 郭靖| 男 | 13145201314| 东海桃花岛 || NTD2020110002 | 黄蓉| 女 | 13145201413| 东海桃花岛 || NTD2020110005 | 欧阳锋| 男 | 18777777777| 西域白驼山庄 || NTD2020110006 | 黄药师| 男 | 13566778899| 东海桃花岛 |+---------------+-----------+--------+--------------+--------------------+4 rows in set (0.00 sec)MariaDB [studb]>

    步骤二:列出表中 通信地址 包括 '全真教' 字串的数据记录

    MariaDB [studb]> SELECT*FROMstuinfoWHERE通信地址LIKE '%全真教%';+---------------+-----------+--------+--------------+--------------------------+| 学号| 姓名| 性别 | 联系电话 | 通信地址 |+---------------+-----------+--------+--------------+--------------------------+| NTD2020110007 | 周伯通| 男 | 17012341234| 昆嵛山全真教总部 || NTD2020110008 | 王重阳| 男 | 17012340001| 昆嵛山全真教总部 |+---------------+-----------+--------+--------------+--------------------------+2 rows in set (0.00 sec)MariaDB [studb]> 

    步骤三:列出表中 姓名 只有 两个字 的数据记录
    MariaDB [studb]> SELECT*FROMstuinfoWHERE姓名LIKE '__';
    +---------------+--------+--------+--------------+-----------------------+
    | 学号| 姓名 | 性别 | 联系电话 | 通信地址|
    +---------------+--------+--------+--------------+-----------------------+
    | NTD2020110001 | 郭靖 | 男 | 13145201314| 东海桃花岛|
    | NTD2020110002 | 黄蓉 | 女 | 13145201413| 东海桃花岛|
    | NTD2020110003 | 华筝 | 女 | 13705666777| 蒙古大营|
    | NTD2020110004 | 洪七 | 男 | 13888888888| 太湖北丐帮总舵|
    +---------------+--------+--------+--------------+-----------------------+
    4 rows in set (0.00 sec)
    MariaDB [studb]>

    6 案例6:整理查询结果
    6.1 问题

    本例要求学会查询结果的排序和数量限制,针对stuinfo表中的数据执行查询,完成下列任务:

    1)查询表中 性别='男' 的侠客人数

    2)列出表中 通信地址='东海桃花岛' 的数据记录,按学号降序排列

    3)列出表中 性别='男' 的第4~5条记录(LIMIT 3,2)

    4)列出表中前3条数据记录
    6.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:查询表中 性别='男' 的侠客人数

    MariaDB [studb]> SELECTcount(*)FROMstuinfoWHERE性别='男';+----------+| count(*) |+----------+|7 |+----------+1 row in set (0.00 sec)MariaDB [studb]> 

    步骤二:列出表中 通信地址='东海桃花岛' 的数据记录,按学号降序排列

    MariaDB [studb]> SELECT*FROMstuinfoWHERE通信地址='东海桃花岛'ORDERBY学号DESC;+---------------+-----------+--------+--------------+-----------------+| 学号| 姓名| 性别 | 联系电话 | 通信地址|+---------------+-----------+--------+--------------+-----------------+| NTD2020110006 | 黄药师| 男 | 13566778899| 东海桃花岛|| NTD2020110002 | 黄蓉| 女 | 13145201413| 东海桃花岛|| NTD2020110001 | 郭靖| 男 | 13145201314| 东海桃花岛|+---------------+-----------+--------+--------------+-----------------+3 rows in set (0.00 sec)MariaDB [studb]>

    步骤三:列出表中 性别='男' 的第4~5条记录(LIMIT 3,2)

    MariaDB [studb]> SELECT*FROMstuinfoWHERE性别='男'LIMIT3,2;+---------------+-----------+--------+--------------+--------------------------+| 学号| 姓名| 性别 | 联系电话 | 通信地址 |+---------------+-----------+--------+--------------+--------------------------+| NTD2020110006 | 黄药师| 男 | 13566778899| 东海桃花岛 || NTD2020110007 | 周伯通| 男 | 17012341234| 昆嵛山全真教总部 |+---------------+-----------+--------+--------------+--------------------------+2 rows in set (0.00 sec)MariaDB [studb]>

    步骤四:列出表中前3条数据记录

    MariaDB [studb]> SELECT*FROMstuinfoLIMIT3;+---------------+--------+--------+--------------+-----------------+| 学号| 姓名 | 性别 | 联系电话 | 通信地址|+---------------+--------+--------+--------------+-----------------+| NTD2020110001 | 郭靖 | 男 | 13145201314| 东海桃花岛|| NTD2020110002 | 黄蓉 | 女 | 13145201413| 东海桃花岛|| NTD2020110003 | 华筝 | 女 | 13705666777| 蒙古大营|+---------------+--------+--------+--------------+-----------------+3 rows in set (0.00 sec)MariaDB [studb]>

    7 案例7:备份数据库资料
    7.1 问题

    本例要求使用mysqldump工具对数据库进行备份,熟悉单库、多库的不同备份用法,完成下列任务:

    1)备份studb库,保存为/root/studb.sql文件

    2)备份studb库和mysql库,保存为/root/studb.sql文件

    3)备份所有库,保存为/root/alldb.sql文件
    7.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:备份studb库,保存为/root/studb.sql文件

    [root@svr7 ~]# mysqldump -uroot-ppwd@123studb>/root/studb.sql

    步骤二:备份studb库和mysql库,保存为/root/studb.sql文件

    [root@svr7 ~]# mysqldump-uroot-ppwd@123--databases studbmysql>/root/studb+mysql.sql

    步骤三:备份所有库,保存为/root/alldb.sql文件

    [root@svr7 ~]# mysqldump-uroot-ppwd@123--all-databases>/root/alldb.sql

    8 案例8:恢复数据库
    8.1 问题

    本例要求使用mysql工具恢复数据库资料,熟悉恢复单库、多库的不同方法,完成下列任务:

    1)确保已经为 studb 库做好备份文件 /root/studb.sql

    2)删除名为 studb 的库,检查结果

    3)重建名为 studb 的空库

    4)将备份文件 /root/studb.sql 导入名为 studb 的库

    5)检查 studb 库中的表格数据
    8.2 步骤

    实现此案例需要按照如下步骤进行。

    步骤一:确保已经为 studb 库做好备份文件 /root/studb.sql

    [root@svr7 ~]# ls-lh/root/studb.sql -rw-r--r--. 1 root root 11K 10月 24 20:20 /root/studb.sql

    步骤二:删除名为 studb 的库,检查结果

    1)登入数据库服务器

    [root@svr7 ~]# mysql-uroot-ppwd@123Welcome to the MariaDB monitor.Commands end with ; or \g.Your MariaDB connection id is 31Server version: 5.5.56-MariaDB MariaDB ServerCopyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> 

    2)删除studb库

    MariaDB [(none)]> DROPDATABASEstudb;Query OK, 9 rows affected (0.00 sec)MariaDB [(none)]>

    步骤三:重建名为 studb 的空库

    MariaDB [(none)]> CREATEDATABASEstudb;Query OK, 1 row affected (0.00 sec)MariaDB [(none)]>MariaDB [(none)]> quitBye[root@svr7 ~]#

    步骤四:将备份文件 /root/studb.sql 导入名为 studb 的库

    若目标库studb已丢失,则必须提前建好空库

    [root@svr7 ~]# mysql-uroot-ppwd@123studb</root/studb.sql [root@svr7 ~]#

    步骤五:检查 studb 库中的表格数据

    [root@svr7 ~]# mysql-uroot-ppwd@123Welcome to the MariaDB monitor.Commands end with ; or \g.Your MariaDB connection id is 33Server version: 5.5.56-MariaDB MariaDB ServerCopyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.MariaDB [(none)]> SELECT*FROMstuinfo;ERROR 1046 (3D000): No database selectedMariaDB [(none)]> SELECT*FROMstudb.stuinfo;+---------------+-----------+--------+--------------+--------------------------+| 学号| 姓名| 性别 | 联系电话 | 通信地址 |+---------------+-----------+--------+--------------+--------------------------+| NTD2020110001 | 郭靖| 男 | 13145201314| 东海桃花岛 || NTD2020110002 | 黄蓉| 女 | 13145201413| 东海桃花岛 || NTD2020110003 | 华筝| 女 | 13705666777| 蒙古大营 || NTD2020110004 | 洪七| 男 | 13888888888| 太湖北丐帮总舵 || NTD2020110005 | 欧阳锋| 男 | 18777777777| 西域白驼山庄 || NTD2020110006 | 黄药师| 男 | 13566778899| 东海桃花岛 || NTD2020110007 | 周伯通| 男 | 17012341234| 昆嵛山全真教总部 || NTD2020110008 | 王重阳| 男 | 17012340001| 昆嵛山全真教总部 || NTD2020110009 | 段王爷| 男 | 17566666666| 云南大理桃源山 |+---------------+-----------+--------+--------------+--------------------------+9 rows in set (0.00 sec)MariaDB [(none)]> quitBye[root@svr7 ~]# 
    表记录增删改查.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载