数据库之 MySQL --- 数据处理 之 表操作、CRUD(六)
个人博客网:https://wushaopei.github.io/ (你想要这里多有)
一、 表操作
创建数据库
CREATE DATABASE demo
-- 删除数据库
DROP DATABASE demo
-- 创建表
-- 第一种方式 : 白手起家
CREATE TABLE em(
e_id INT PRIMARY KEY, -- primary key 主键,不可重复不能为null
e_name VARCHAR(20),
e_age INT
)
-- 第二种方式: 基于现有的表来创建新的表
DROP TABLE em;CREATE TABLE em2
AS
SELECT first_name
FROM employees
-- 复制employees 表
-- 注意: 表的约束是复制不了的
CREATE TABLE em3
AS
SELECT *
FROM employees
-- 复制employees表但不要里面的内容
CREATE TABLE em4
AS
SELECT *
FROM employees
WHERE 1 = 2;
【1】 修改表
CREATE TABLE em(
e_id INT PRIMARY KEY,
e_name VARCHAR(20),
e_age INT
)
【2】修改列的类型
如果列中没有数据,那么列的类型可以进行修改
如果列中有数据,orcal是不允许修改的。mysql允许但大家需要谨慎修改
ALTER TABLE em
MODIFY e_age VARCHAR(20)
【3】修改列的名称
ALTER TABLE em
CHANGE e_age e_address VARCHAR(20)
【4】添加列
ALTER TABLE em
ADD e_age INT
【5】删除列
ALTER TABLE em
DROP COLUMN e_age
【6】修改表名
-- orcal中 修改表名 alter table em3 rename 旧的名字 to 新的名字
ALTER TABLE em3
RENAME TO emm
DESC em;
【7】删除表
DROP TABLE emm
-- 清空表 - 清空表中的内容,表结构还在
TRUNCATE TABLE em2 -- 不能回滚数据
DELETE FROM em2 -- 可以回滚数据
-- truncate 比 delete from 效率要高
COMMIT; -- 提交,一旦commit就不可以回滚了
SET autocommit = FALSE; -- 设置不允许自动commit
-- delete from em2;
TRUNCATE TABLE em2;
ROLLBACK -- 回滚到上一次的commit
二、事务
例 : AA给BB转钱,转一百块钱
第一个动作 : AA = AA - 100
----- 抛异常了 ------
第二个动作 : BB = BB + 100
思考?如何做到二次动作要完成都完成,要失败都失败
try{
commit;
SET autocommit = FALSE;
第一次动作: AA = AA - 100
System.out.println(1 / 0);
第二次动作: BB = BB + 100
commit;
}catch(Exception e){
rollback;
}
SELECT * FROM em2
CREATE TABLE emp(
emp_id INT PRIMARY KEY, -- 不能重复,不能为null
emp_name VARCHAR (20),
emp_age INT
)
DESC emp
三 、数据操纵语言 -- CRUD

【1】添加数据
-- 第一种
INSERT INTO emp(emp_id,emp_name,emp_age) VALUES(1,'强哥',56)
INSERT INTO emp(emp_id,emp_age) VALUES(2,30)
-- 注意: 没有插入字段的值默认为null
INSERT INTO emp VALUES(4,'成哥',65)
-- 第二种 基于现有的数据
-- 注意列的类型和长度问题
INSERT INTO emp(emp_id,emp_name)
SELECT employee_id,first_name FROM employees
【2】 改
UPDATE emp SET emp_age =20 WHERE emp_id =1
UPDATE emp SET emp_age = 30 -- 修改所有数据的emp_age
【3】 删
DELETE FROM emp WHERE emp_id =1
DELETE FROM emp WHERE emp_id>100
【4】删除失败和修改失败(有外键约束的表中)。
SELECT * FROM departments
DELETE FROM departments WHERE department_id = 50
SELECT * FROM emp
数据库之 MySQL --- 数据处理 之 表操作、CRUD(六)的更多相关文章
- python爬取信息到数据库与mysql简单的表操作
python 爬取豆瓣top250并导入到mysql数据库中 import pymysql import requests import re url='https://movie.douban.co ...
- 数据库之 MySQL --- 数据处理 之 表的约束与分页(七)
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1.约束 :为了保证数据的一致性和完整性,SQL规范以约束的方式对表数据进行额外的条件限制 ...
- mysql数据库学习(二)--表操作
一.表操作 以下内容都是自己学习的时候看过的一些知识,作为笔记记录一下吧,大部分都是所看文章的内容. 1.创建表 前面的基础篇笔记是相当于搭建了一个方便管理的文件夹树根,下面要学习的是一些关于表的知识 ...
- 百万年薪python之路 -- MySQL数据库之 MySQL行(记录)的操作(二) -- 多表查询
MySQL行(记录)的操作(二) -- 多表查询 数据的准备 #建表 create table department( id int, name varchar(20) ); create table ...
- MySQL之多表操作
前言:之前已经针对数据库的单表查询进行了详细的介绍:MySQL之增删改查,然而实际开发中业务逻辑较为复杂,需要对多张表进行操作,现在对多表操作进行介绍. 前提:为方便后面的操作,我们首先创建一个数据库 ...
- mysql 库与表操作
1. 库操作 1.1. 创建数据库 语法规则:create database 库名; CREATE DATABASE dt55; 在创建库时,希望指定编码语法:create database 库名 c ...
- Oracle 数据库基本操作——实用手册、表操作、事务操作、序列
目录: 0. 参考链接与参考手册1. oracle 实用(常用操作)指令2. 数据库基本操作语法 a) 表操作 1)创建表 2)更新表 3)删除表 4)查询 b) 事务操作 c) 序列操作 1)创建序 ...
- Mysql之数据表操作
数据表操作: 查看当前数据库中所有的表: show tables; 查看当前使用数据库: select database(); 使用数据表: use 表名; 创建数据表: create table 数 ...
- 学习MySQL之单表操作(二)
##单表操作 ##创建表 CREATE TABLE t_employee( empno ), ename ), job ), MGR ), Hiredate DATE DEFAULT '0000-00 ...
随机推荐
- 一篇文章带你用Python网络爬虫实现网易云音乐歌词抓取
前几天小编给大家分享了数据可视化分析,在文尾提及了网易云音乐歌词爬取,今天小编给大家分享网易云音乐歌词爬取方法. 本文的总体思路如下: 找到正确的URL,获取源码: 利用bs4解析源码,获取歌曲名和歌 ...
- abp(net core)+easyui+efcore实现仓储管理系统——入库管理之十二(四十八)
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+ ...
- Nginx服务器的安装和卸载
Nginx的安装 安装Nginx之前,需要先获取Nginx的安装文件.我们可以在http://nginx.org/en/download.html获取各个版本的Nginx安装文件.大家可以按照自己的需 ...
- Hyperledger Fabric——balance transfer(六)查询
balance transfer 提供了很多查询接口,包括链码查询,根据区块号查询区块数据,根据交易ID查询交易信息,查询链上的区块数,查询已安装或已实例化的链码,查询通道. 源码解析 1.调用链码查 ...
- Vue踩坑日记
1.错误:找不到模块'eslint-config-standard' https://github.com/standard/eslint-config-standard/issues/84 我遇到了 ...
- 好用的python性能测试神器–Locust
原文链接:https://mp.weixin.qq.com/s/9PxSPuHmucSLi_welq6uNQ 现在性能测试工具太多,根据业务不同使用,比如说我们熟悉的loadrunner.jmeter ...
- wordpress获取文章特色图像路径函数wp_get_attachment_image_src()
特色图像是wordpress主要的文章缩略图功能,几乎全部wordpress模板都使用或支持特色图像.今天介绍的wp_get_attachment_image_src()函数就是获取文章特色图像路径的 ...
- Istio 1.6架构及性能
Istio 架构 Istio 服务网格从逻辑上分为数据平面和控制平面. 数据平面 由一组智能代理(Envoy)组成,被部署为 sidecar.这些代理负责协调和控制微服务之间的所有网络通信.他们还收集 ...
- IDEA奇淫小技巧
IDEA是目前市场上最好用的IDE,我说的! 前几年eclipse在市场上非常流行,因此大多数人都习惯了eclipse的一些快捷键.近年来,随着IDEA的兴起,很多人都放弃了exlipse,进而选择了 ...
- Java 在PPT中创建SmartArt图形、读取SmartArt图形中的文本
一.概述及环境准备 SmartArt 图形通过将文字.图形从多种不同布局.组合来表现内容和观点的逻辑关系,能够快速.有效地传达设计者的意图和信息.这种图文表达的视觉表示形式常用于PPT,Word,Ex ...