------------恢复内容开始------------

MySQL

数据库的操作

创建 create database 数据库名;
指定字符集 create database 数据库名 character set 字符集;
   
删除数据库 drop datebase 数据库名;
   
修改字符集 alter database 数据库名 default character set 字符集;
   
创建查询是否存在 create database if not exists 数据库名;
查看数据库 show databases;
查看在使用的数据库 select database();
使用数据库 use 数据库名;
查看数据库创建 show create database 数据库名;

单表操作 增删改查

创建表 create table 表名(字段名 字段类型(字段长度),···);
创建相同的表 create table 新表名 like 旧表名;
添加字段 alter table 表名 add 字段名 字段类型(字段长度);
   
删除表 drop table 表名;
判断存在并删除 drop table if exists 表名;
删除字段 alter table 表名 drop 字段名;
   
修改字段 alter table 表名 change 旧字段名 新字段名 字段类型(字段长度);
修改字符集 alter table 表名 character set 字符集;
修改表名 rename table 旧表名 to 新表名;
修改字段类型 alter table 表名 modify 字段名 新类型(类型长度);
   
快捷修改字符集 set names 字符集;
查看数据库中的表 show tables;
查看表结构 desc 表名;
查看表的创建 show create table 表名;

数据

插入数据 insert into 表名(字段名1,…)value(值1,…);
插入全部 insert into 表名(字段名1,…最后字段)value(值1,…最后值);
蠕虫复制 create table 表A like 被复制的表; insert into 新表 select * from 旧表;
建表时添加约束 create table 表名(字段名 字段类型(字段长度) 字段约束区,···,全字段约束区(字段名));
插入全部 insert into 表名 value(值1,…最后值);
   
有条件删除数据 delete from 表名 where 字段名=值;
摧毁表再创建 truncate table 表名;
   
无条件修改 update 表名 set 字段名=新值;
有条件修改 update 表名 set 字段名=新值,字段名=新值 where 字段=值;
   
查询所有数据 select * from 表名;
查询部分 select 字段名1,字段名2… from 表名;
去重查询 select distinct 字段名… from 表名;
结果参与运算 select 字段名+固定值 from 表名;
字段间运算 select 字段名1+字段名2 别名 from 表名;
null值运算 select 字段名1 ifnull(字段名2,默认值) 别名 from 表名;
条件查询 select 字段名 from 表名 where 条件; and or notnull
范围查询 select 字段名 from 表名 where 字段名 between 值1 and 值2;
模糊查询 select * from 表名 where 字段名 like "通配符字段"; _ %
组合排序 select 字段名 from 表名 where 条件 order by 字段名1 asc/desc,字段名2 asc/desc;
聚合函数 select 聚合函数(字段名) from 表名;select 聚合函数 from 表名;
聚合函数 count() 计数 ifnull (字段,替换为) sum()求和 max () 最大值 min() 最小值 avg(*)平均值 cast(avg(字段名)as decimal(5,2))保留几位小数
分组 select 字段名 from 表名 where 条件 group by 字段名 having 条件;
limit分页 select 字段名 from 表名 where语句 group by语句 having语句 order by语句 limit 开始条目,每页条目;

多表查询

隐内连 select 字段名 from 表1,表2 where 条件
显内连 select 字段名 from 表1 join 表2 on 条件
左外连 select 字段名 from 表1 left join 表2 on 条件(以表1为主,表2没内容填null)
右外连 select 字段名 from 表1 right join 表2 on 条件(以表2为主,表1没内容填null)

子查询

单列单行 结果作为筛选条件,放在where后面
单列多行 结果作为筛选条件,放在where后面
多列多行 结果作为查询的表,放在from后面

事务

开启 start transaction 开启手动事务,不提交和回滚事务不真正执行,而是放到缓存区
提交 commit将缓存区中的事务统一执行
回滚 rollback回到事务语句开始时的状态
回滚点 savepoint 回滚点名字,回到回滚点语法:rollback to 回滚点名
查询 show variables like "%commit%"
关闭自动 set autocommit = 0,设置为1为自动

事务的特性

1原子性 事务不可分割,一个事务中的操作要么都发生,要么都不发生
2一致性 事务前后数据的完整性必须保持一致
3隔离性 多用户并发访问数据库时,一个用户的事务不能呗其他用户的事务所干扰,多个并发事务之间要相互格力,不能互相影响
4持久性 一个事物一旦提交,对数据库中的改变是永久性的,接下来数据库发生故障也不会对其有任何影响

隔离级别

读未提交 read uncommitted 隔离级别最低,效率最高
读已提交 read committed 避免脏读,Oracle 和 SQL Server
可重复读 repeatable read 避免不可重复读 MySQL
串行化 serializable 可避免一切并发访问问题,效率最低
查询 show variables like "%isolation%"
设置 set global transaction isolation level 级别

概念

一对一 操作多的表加外键
一对多 多表加外键
多对多 建立中间表,两个外键
   
外键约束 从表的某个字段引用主表的主键(外键可以重复)
建表时 constraint 外键名 foreign key(外键字段) references 主表名(主表主键)
后增加 alter table 从表 add constraint 外键名 foreign key(外键字段)references 主表(主表主键)
外键删除 alter table 从表 drop foreign key 外键名
   
第一 每个字段不可再拆分
第二 表内有主键,一张表只描述一件事
第三 从表的外键必须使用主表的主键
   
产生 查询多个表时,会把每个表数据与另一个表数据一一对应产生新的表
消除 找到两个表的关联条件并进行筛选

用户权限

创建用户 create user '用户名'@'主机名' identified by '密码';
查询权限 show grants for '用户名'@'主机名'
授权用户 grant create,alter,drop,insert,update,delete,select on 数据库名.表名 to '用户名'@'主机名';(可以用all代表所有权限,*.*代表所有数据库和所有表)
撤销授权 revoke 权限1,… on 数据库名.表名 from '用户名'@'主机名'(可以用all代表所有权限,*.*代表所有数据库和所有表)
删除用户 drop user '用户名'@'主机名';
修改普通密码 set password for '用户名'@'主机名' = password('新密码');
修改管理员密码 先退出登录,mysqladmin -uroot -p password 新密码(没有引号) 按提示输入旧密码

------------恢复内容结束------------

MySQL对数据 对表 对数据操作的更多相关文章

  1. Mysql对表中 数据 的操作 DML

    上一知识点回顾: mysql的备份: 直接使用navicat进行备份 转储SQL文件:有结构和数据/ 仅结构 两种 需要还原时 单击 数据库名字  运行SQL文件  创建表ctreate 修改表alt ...

  2. mysql第四篇:数据操作之多表查询

    mysql第四篇:数据操作之多表查询 一.多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment ...

  3. 大数据学习之路——MySQL基础(一)——MySQL的基础知识与常见操作

    一.存储引擎 1.含义 存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引 ...

  4. MySQL的数据库,数据表,数据的操作

    数据库简介 概念 什么是数据库?简单来说,数据库就是存储数据的"仓库", 但是,光有数据还不行,还要管理数据的工具,我们称之为数据库管理系统! 数据库系统 = 数据库管理系统 + ...

  5. mysql(三) 数据表的基本操作操作

    mysql(三) 数据表的基本操作操作 创建表,曾删改查,主键,外键,基本数据类型. 1. 创建表 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGIN ...

  6. mysql 基本语法学习1(数据库、数据表、数据列的操作)

    今天学习了一下mysql语法,并记录下来 1.mysql的数据库操作 /***1.操作数据库的语法 ***/ -- 1)显示所有数据库 -- show databases; -- 2)创建数据库 -- ...

  7. 一、初识MySQL数据库 二、搭建MySQL数据库(重点) 三、使用MySQL数据库 四、认识MySQL数据库的数据类型 五、操作MySQL数据库的数据(重点)

    一.初识MySQL数据库 ###<1>数据库概述     1. 数据库         长期存储在计算机内的,由组织的可共享的数据集合         存储数据的仓库         文件 ...

  8. MySQL 第四篇:数据操作

    一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...

  9. mysql 库,表,数据操作

    一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...

随机推荐

  1. 一些bug

    长期留坑 1.AC自动机多模式串匹配问题 对于要统计各个模式串在文本中的出现次数,对于每个当前节点不能直接暴力跳$fail$ 复杂可以退化到$O(n^2)$ $aaaaaa--aaa$可以卡掉 要将$ ...

  2. CentOS7下一键小白搭建seafile pro云盘

    搭建前准备工作 vps或者云服务器,个人搭建使用建议腾讯云,公司搭建使用建议阿里云. 没有服务器的小伙伴可以下面链接进入看下,腾讯云的配置带宽会比阿里云的好点. 阿里云新人优惠服务器 腾讯云云上特惠 ...

  3. spark内存管理这一篇就够了

    1. 堆内和堆外内存规划 1.1 堆内内存 堆内内存的大小,由 Spark 应用程序启动时的 –executor-memory 或 spark.executor.memory 参数配置.Executo ...

  4. 强迫自己学习Jquery 最喜欢的hitch函数

    用过dojo的人都知道hitch. 通过绑定一个函数的上下文得到一个新函数,当然还能绑定参数 Jquery里没有这个功能,实在太不方便了. 这是我不喜欢用Jquery的第一原因,第二原因是Jquery ...

  5. Jenkins - Linux下启动Jenkins报错hudson.WebAppMain#contextDestroyed: Shutting down a Jenkins instance that was still starting up

    报错截图 在Linux下直接运行jenkins.war报错,导致启动失败 报错原因 运行端口已被其他进程占用 解决方法 换个启动端口就可以啦!

  6. 优测 x QTA 兼容性测试全面启动啦

    鉴于Android系统开放性开发,以及Android系统在智能机市场的覆盖率超高的特点,APP的兼容性测试需求大幅提升.为迎合市场需求,优测(Utest)与QTA合作,全力打造兼容性测试服务.由优测提 ...

  7. 剑指offer刷题(栈、堆、 队列、 图)

    Stack & Queue 005-用两个栈实现队列 题目描述 用两个栈实现一个队列.队列的声明如下,请实现它的两个函数 push 和 pop ,分别完成在队列尾部插入整数和在队列头部删除整数 ...

  8. Linux(centos6.8)配置Tomcat环境

    1.下载Linux版的Tomcat包 (1)通过官方下载 tomcat官方:https://tomcat.apache.org/download-80.cgi (2)通过分享下载 如网盘分享等途径 2 ...

  9. 想要看懂鸿蒙OS源码?朱老师带你从框架分析开始

    HarmonyOS V2.0是面向轻量级设备的鸿蒙L0/L1级设备端操作系统,于2020.9开源至今已有2个多月,但是很多同学在学习鸿蒙源码时仍然感觉难以下手,找不到突破口. 2020.11.25(本 ...

  10. Linux文件监控工具——inotify-tools

    举例: ip.txt内容如下: 10.1.1.11 root 123 10.1.1.22 root 111 10.1.1.33 root 123456 10.1.1.44 root 54321 写法1 ...