数据库的增删改操作

数据库的增操作

数据库的增操作主要涉及数据库的增加、数据表的增加、表记录增加以及表字段增加等。数据库的增加非常简单,就是新创建一个数据库;表记录的增加指的就是新增表的数据行,可以是在已有表的基础上增加记录,也可以是将查询结果保存为新的表;字段的增加是指在原有表的基础上新增一些字段。下面我们一起来看一下具体操作。
(1)新建数据库

CREATE DATABASE <database_name>;

(2)新建表

CREATE TABLE table_name_ (column_name column_type);

(3)在原有表的基础上增加记录
在表中增加记录的前提是保证原数据表一定存在。

# 在学生信息表stu_info中增加两条学生信息
SELECT * FROM stu_info;
INSERT INTO stu_info( iname,department) VALUES
("十九","管理系"),
("小北","生物系");
SELECT * FROM stu_info;


根据返回的结果可以看到,追加信息的字段下面会增加新的数据,没有新增数据的字段已空值填充。
(4)将查询返回的结果插入到新表中
尝试将之前的商品表goods_orders中支付方式为"1,2,3"的记录插入到新表orders_sub中

SELECT * FROM goods_orders;
# 新建orders_sub表,并且表结构与goods_orders表一致
CREATE TABLE orders_sub LIKE goods_orders;
# 将查询结果插入到数据表orders_sub中
INSERT INTO orders_sub
SELECT * FROM goods_orders
WHERE Pay_Type IN (1,2,3);
# 预览前10行
SELECT * FROM orders_sub
LIMIT 10;

(5)将查询结果直接生成一张新表

# 将学生信息表stu_info和学生成绩表stu_score合并之后的结果生成一张新表student
CREATE TABLE student AS
SELECT t1.* , t2.Excel,t2.Tableau,t2.MySQL FROM stu_info AS t1
LEFT JOIN stu_score AS t2
ON t1.id = t2.id;
# 预览前10行
SELECT * FROM student;

(6)增加表字段
在上述表student中增加一个新字段Python,并设置为整型,默认值为0。

#表student中增加一个新字段Python,并设置为整型,默认值为0。
ALTER TABLE student ADD COLUMN Python INT DEFAULT 0;
#预览数据表
student SELECT * FROM student;

数据库的改操作

数据库的改操作主要是指修改表中错误记录、修改字段类型以及修改表名称、字段名称等。
(1)修改表名称

# 将学生表student的名称修改为stu_summary
ALTER TABLE student RENAME TO stu_summary;

(2)修改字段名

# 将学生表stu_summary中gender改成sex
ALTER TABLE stu_summary CHANGE gender sex varchar(10);

(3)修改字段类型

# 查看学生表stu_summary所有字段类型
DESC stu_summary;
# 将学生表stu_summary 年龄字段age的字段类型修改为VARCHAR(10)
ALTER TABLE stu_summary MODIFY COLUMN age varchar(10);
-- 也可以使用CHANGE关键词 --
ALTER TABLE stu_summary CHANGE age age varchar(10);

(4)修改数据表中的某个记录

# 将学生表student中张勇的邮箱地址改为zhangyong@163.com
SELECT * FROM student;
UPDATE student SET email = "zhangyong@163.com"
WHERE iname = "张勇";

这里需要注意的是,如果学生表中有多个名字叫“张勇”的学生,那么所有满足条件的记录都会被修改。

数据库的删操作(慎用!!!)

数据库的删操作主要包含数据库的删除、数据表的删除、表记录删除、字段删除三种类型。数据库的删除就是直接删掉整个数据库;表记录的删除是指按照某些条件删除数据表中的记录,或者直接清空数据表的所有记录;字段的删除与字段的增加恰好相反,就是根据实际情况将表中某些字段删掉。
(1)数据库的删除

DROP DATABASE <database_name>;

在实际工作中,大部分数据分析师是没有权限对整个数据库进行删除的,公司进行权限管理也是为了数据的安全,防止有人删库跑路,给公司带来经济损失。
(2)数据表的删除

DROP TABLE <table_name_>;

(3)按条件删除表记录

SELECT * FROM student; # 删除前查看数据 # 删除学生表student中,名为“十九”和“小北”的记录
DELETE FROM student WHERE iname IN ("十九","小北"); # 如果出现报错Error Code: 1175.
# 这是Workbench的安全设置导致的,可以通过降低安全等级解决
set sql_safe_updates =0; SELECT * FROM student; # 查看删除后的数据

(4)删除表字段

# 删除学生表student中的email字段
ALTER TABLE student DROP email;

(5)清空数据表
对于数据表的清空操作,这里会涉及到两个关键词:DELETE关键词 和 TRUNCATE 关键词。这两个关键词都可以清空数据表,但是两者之间还是有一些差异:

  • DELETE不会清空自增变量的记忆,也就是再次更新数据时,自增变量的序号不是从1开始的
  • TRUNCATE可以根本性删除表记录,新增数据时,自增变量的序号从1开始
  • 在运行速度方面,TRUNCATE要比 DELETE快
# 新建数据表
CREATE TABLE user_info
( id INT AUTO_INCREMENT PRIMARY KEY, iname VARCHAR(10), gender TINYINT, age TINYINT );# 手工插入记录
INSERT INTO user_info(iname,gender,age) VALUES
('张三',1,22),
('李四',1,27),
('王二',0,25),
('丁一',0,32),
('赵五',0,28);
SELECT * FROM user_info;

尝试用DELECT 清空数据表,并增加三条记录

# 使用DELETE关键词清空数据表
DELETE FROM user_info; # 插入记录
INSERT INTO user_info(iname,gender,age) VALUES
('张三',1,22),
('李四',1,27),
('王二',0,25); # 查看数据表
SELECT * FROM user_info;


尝试用TRUNCATE 清空数据表,并增加三条记录:

# 使用TRUNCATE关键词清空数据表
TRUNCATE TABLE user_info; # 插入一条记录
INSERT INTO user_info(iname,gender,age) VALUES
('张三',1,22),
('李四',1,27),
('王二',0,25); # 查看数据表
SELECT * FROM user_info;

MySQL——数据库的增删改操作相关推荐

  1. shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)

    shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)Shell脚本与MySQL数据库交互(增删改查)# 环境准备:安装mariadb 数据库 [root ...

  2. python操作mysql数据库(增、删、改、查)_python对 MySQL 数据库进行增删改查的脚本...

    # -*- coding: utf-8 -*- import pymysql import xlrd # import codecs #连接数据库 conn = pymysql.connect(hos ...

  3. adodb mysql.inc.php,php adodb操作mysql数据库示例(增删改查)

    php adodb操作mysql数据库示例(增删改查) 发布于 2014-10-05 08:16:18 | 113 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: H ...

  4. 【接口测试】Day5-使用pymysql库对mysql数据库进行增删改查操作

    目录 今日目标 一.数据库介绍 二.数据库基本操作 1.安装 2.操作流程(重点) 1. 创建连接 2. 获取游标 3. 执行sql 4. 关闭游标 5. 关闭连接 3.数据准备 4.数据库基本操作 ...

  5. Java对MySQL数据库进行增删改查的操作(一)

    import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

  6. 通过Loadruner对mysql数据库进行增删改查

    通过Loadruner对mysql数据库进行增删改查 操作mysql数据库,是在实现mysql数据源配置的基础上操作,可先阅读:loadrunner参数化使用mysql数据源失败解决方法 写之前先理一 ...

  7. C#语言连接Mysql数据库实现增删改查

    C#语言连接Mysql数据库实现增删改查 实现效果如图 在此之前先下载一个mysql.dll 库 如下 链接:https://pan.baidu.com/s/17Nv_1W3KbXfWgdOvWf_S ...

  8. java jdbc 连接mysql数据库 实现增删改查

    好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...

  9. jdbc如何对mysql数据库进行查询_【转载】通过JDBC对MySQL数据库的增删改查

    目录 前言:什么是JDBC 维基百科的简介: Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接 ...

最新文章

  1. html页面调用ico图标,如何在HTML中使用图标字体 - icon font?
  2. 【分布式事务】tcc-transaction分布式TCC型事务框架搭建与实战案例(基于Dubbo/Dubbox)...
  3. oracle rowid mysql_相当于Oracle的RowID在MySQL中
  4. freeimage例子资料整理
  5. oracle报错编码
  6. 深度洞见|起底元宇宙风潮,如何重塑未来数字营销?
  7. CodeForces - 617E XOR and Favorite Number(莫队)
  8. python redis插件安装
  9. 华为卡槽打不开怎么办_17500元!华为5G折叠手机刷屏,有人焦虑连夜开会…
  10. linux 线程优先级算法,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...
  11. [精讲-3]Offline Domain Join
  12. JDK各版本新增的主要特性
  13. 算法笔记_056:蓝桥杯练习 未名湖边的烦恼(Java)
  14. MTK 驱动开发(24)---camera模块的制作
  15. 喝下硅谷创业毒药后的 13 年
  16. Ubuntu 主题美化
  17. Julia: map、匿名函数和“差之毫厘,谬之千里”
  18. 后缀数组算法概述及习题
  19. java中几种常用的对象类型(po,vo,bo,dto)
  20. linux drm 架构 基础

热门文章

  1. soap php 分开类,PHP SoapClient类型映射的行为有所不同
  2. linux查看teamview是否运行,linux – 我如何知道teamviewer是否成功执行并获取会话ID和密码?...
  3. 提升ListView的运行效率
  4. android 获取url中的参数
  5. C++虚继承和虚基类详解(二)
  6. tf.reverse_sequence
  7. pymysql 写入数据
  8. python中shift_python对列进行平移变换的方法(shift)
  9. 欧拉角推算旋转矩阵的问题
  10. NTU课程笔记 mas714复习:例题