个人博客网: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(六)的更多相关文章

  1. python爬取信息到数据库与mysql简单的表操作

    python 爬取豆瓣top250并导入到mysql数据库中 import pymysql import requests import re url='https://movie.douban.co ...

  2. 数据库之 MySQL --- 数据处理 之 表的约束与分页(七)

    个人博客网:https://wushaopei.github.io/    (你想要这里多有)     1.约束 :为了保证数据的一致性和完整性,SQL规范以约束的方式对表数据进行额外的条件限制 ​ ...

  3. mysql数据库学习(二)--表操作

    一.表操作 以下内容都是自己学习的时候看过的一些知识,作为笔记记录一下吧,大部分都是所看文章的内容. 1.创建表 前面的基础篇笔记是相当于搭建了一个方便管理的文件夹树根,下面要学习的是一些关于表的知识 ...

  4. 百万年薪python之路 -- MySQL数据库之 MySQL行(记录)的操作(二) -- 多表查询

    MySQL行(记录)的操作(二) -- 多表查询 数据的准备 #建表 create table department( id int, name varchar(20) ); create table ...

  5. MySQL之多表操作

    前言:之前已经针对数据库的单表查询进行了详细的介绍:MySQL之增删改查,然而实际开发中业务逻辑较为复杂,需要对多张表进行操作,现在对多表操作进行介绍. 前提:为方便后面的操作,我们首先创建一个数据库 ...

  6. mysql 库与表操作

    1. 库操作 1.1. 创建数据库 语法规则:create database 库名; CREATE DATABASE dt55; 在创建库时,希望指定编码语法:create database 库名 c ...

  7. Oracle 数据库基本操作——实用手册、表操作、事务操作、序列

    目录: 0. 参考链接与参考手册1. oracle 实用(常用操作)指令2. 数据库基本操作语法 a) 表操作 1)创建表 2)更新表 3)删除表 4)查询 b) 事务操作 c) 序列操作 1)创建序 ...

  8. Mysql之数据表操作

    数据表操作: 查看当前数据库中所有的表: show tables; 查看当前使用数据库: select database(); 使用数据表: use 表名; 创建数据表: create table 数 ...

  9. 学习MySQL之单表操作(二)

    ##单表操作 ##创建表 CREATE TABLE t_employee( empno ), ename ), job ), MGR ), Hiredate DATE DEFAULT '0000-00 ...

随机推荐

  1. C# 判断文件格式的一些总结

    前提概述: 项目中 经常会有上传图片的地方  有的时候需要对图片类型做一些要求   这个时候就需要一些判断   虽然前段上传的时候可以去做类型的限制  或者后台接受的时候从file的type 中获取图 ...

  2. 【Kafka】Stream API

    Stream API Kafka官方文档给了基本格式 http://kafka.apachecn.org/10/javadoc/index.html?org/apache/kafka/streams/ ...

  3. 基于情感词典的python情感分析

    近期老师给我们安排了一个大作业,要求根据情感词典对微博语料进行情感分析.于是在网上狂找资料,看相关书籍,终于搞出了这个任务.现在做做笔记,总结一下本次的任务,同时也给遇到有同样需求的人,提供一点帮助. ...

  4. redis文章汇总

    方便集群管理时的查看操作 http://www.cnblogs.com/mushroom/p/4738170.html http://www.cnblogs.com/hjwublog/p/568170 ...

  5. 今天玩一下python得邮件解析吧,查看邮件内容小儿科,我们下载邮件的附件

    直男,直接上代码. 自己看打印的内容 主要功能如下: #如果邮件内容存在链接则返回链接,若不存在则直接下载邮件附件 import imapclient,re import pyzmail #提取邮件里 ...

  6. 黑马程序员_毕向东_Java基础视频教程——位运算符(随笔)

    位运算符 左移和右移 左移 左移越移越大. 往左移几位就相当于这个数乘于2的几次方 3 << 2 --> 3 * 2^2 = 3 * 4 = 12 3 << 3 --&g ...

  7. Python-MD5加密算法接口测试

    前言 在之前的Python系列的随笔中,我跟小伙伴们讲述了Python-AES加密算法接口测试和Python-SHA256加密算法接口测试,今天我们来学习一下登录密码是md5加密的情况下,该如何使用p ...

  8. python常识系列08-->logging模块基础入门

    前言 努力从今天开始,成功从"零"开始. 一.logging模块是什么? 是Python内置的标准模块,主要用于输出运行日志 二.日志是什么? 日志是代码的必要组成部分 记录日志能 ...

  9. python实现摇骰子猜大小函数升级没把加注及三大运行商短信验证过滤

    摇骰子游戏升级 此次更改增加下注功能,启动资金1000元,每次赔率都是一倍,钱输光退出. 源码: #!/user/bin/env python #-*-coding:utf-8 -*- #Author ...

  10. IOS真机测试(已拥有个人开发者证书)

    创建真机调试证书并进行真机测试 步骤1 在启动台中点击其他,找到钥匙串访问. 步骤2 在打开的界面中点击右边的系统根证书,然后点击左上角的钥匙串访问,然后是证书助理,最后点击从证书颁发机构申请证书. ...