MySQL——数据库的增删改操作
数据库的增删改操作
数据库的增操作
数据库的增操作主要涉及数据库的增加、数据表的增加、表记录增加以及表字段增加等。数据库的增加非常简单,就是新创建一个数据库;表记录的增加指的就是新增表的数据行,可以是在已有表的基础上增加记录,也可以是将查询结果保存为新的表;字段的增加是指在原有表的基础上新增一些字段。下面我们一起来看一下具体操作。
(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——数据库的增删改操作相关推荐
- shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)
shell编程系列22--shell操作数据库实战之shell脚本与MySQL数据库交互(增删改查)Shell脚本与MySQL数据库交互(增删改查)# 环境准备:安装mariadb 数据库 [root ...
- python操作mysql数据库(增、删、改、查)_python对 MySQL 数据库进行增删改查的脚本...
# -*- coding: utf-8 -*- import pymysql import xlrd # import codecs #连接数据库 conn = pymysql.connect(hos ...
- adodb mysql.inc.php,php adodb操作mysql数据库示例(增删改查)
php adodb操作mysql数据库示例(增删改查) 发布于 2014-10-05 08:16:18 | 113 次阅读 | 评论: 0 | 来源: 网友投递 PHP开源脚本语言PHP(外文名: H ...
- 【接口测试】Day5-使用pymysql库对mysql数据库进行增删改查操作
目录 今日目标 一.数据库介绍 二.数据库基本操作 1.安装 2.操作流程(重点) 1. 创建连接 2. 获取游标 3. 执行sql 4. 关闭游标 5. 关闭连接 3.数据准备 4.数据库基本操作 ...
- Java对MySQL数据库进行增删改查的操作(一)
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- 通过Loadruner对mysql数据库进行增删改查
通过Loadruner对mysql数据库进行增删改查 操作mysql数据库,是在实现mysql数据源配置的基础上操作,可先阅读:loadrunner参数化使用mysql数据源失败解决方法 写之前先理一 ...
- C#语言连接Mysql数据库实现增删改查
C#语言连接Mysql数据库实现增删改查 实现效果如图 在此之前先下载一个mysql.dll 库 如下 链接:https://pan.baidu.com/s/17Nv_1W3KbXfWgdOvWf_S ...
- java jdbc 连接mysql数据库 实现增删改查
好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打 ...
- jdbc如何对mysql数据库进行查询_【转载】通过JDBC对MySQL数据库的增删改查
目录 前言:什么是JDBC 维基百科的简介: Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接 ...
最新文章
- html页面调用ico图标,如何在HTML中使用图标字体 - icon font?
- 【分布式事务】tcc-transaction分布式TCC型事务框架搭建与实战案例(基于Dubbo/Dubbox)...
- oracle rowid mysql_相当于Oracle的RowID在MySQL中
- freeimage例子资料整理
- oracle报错编码
- 深度洞见|起底元宇宙风潮,如何重塑未来数字营销?
- CodeForces - 617E XOR and Favorite Number(莫队)
- python redis插件安装
- 华为卡槽打不开怎么办_17500元!华为5G折叠手机刷屏,有人焦虑连夜开会…
- linux 线程优先级算法,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...
- [精讲-3]Offline Domain Join
- JDK各版本新增的主要特性
- 算法笔记_056:蓝桥杯练习 未名湖边的烦恼(Java)
- MTK 驱动开发(24)---camera模块的制作
- 喝下硅谷创业毒药后的 13 年
- Ubuntu 主题美化
- Julia: map、匿名函数和“差之毫厘,谬之千里”
- 后缀数组算法概述及习题
- java中几种常用的对象类型(po,vo,bo,dto)
- linux drm 架构 基础
热门文章
- soap php 分开类,PHP SoapClient类型映射的行为有所不同
- linux查看teamview是否运行,linux – 我如何知道teamviewer是否成功执行并获取会话ID和密码?...
- 提升ListView的运行效率
- android 获取url中的参数
- C++虚继承和虚基类详解(二)
- tf.reverse_sequence
- pymysql 写入数据
- python中shift_python对列进行平移变换的方法(shift)
- 欧拉角推算旋转矩阵的问题
- NTU课程笔记 mas714复习:例题