MySQL对数据 对表 对数据操作
------------恢复内容开始------------
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对数据 对表 对数据操作的更多相关文章
- Mysql对表中 数据 的操作 DML
上一知识点回顾: mysql的备份: 直接使用navicat进行备份 转储SQL文件:有结构和数据/ 仅结构 两种 需要还原时 单击 数据库名字 运行SQL文件 创建表ctreate 修改表alt ...
- mysql第四篇:数据操作之多表查询
mysql第四篇:数据操作之多表查询 一.多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment ...
- 大数据学习之路——MySQL基础(一)——MySQL的基础知识与常见操作
一.存储引擎 1.含义 存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行创建.查询.更新和删除数据.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引 ...
- MySQL的数据库,数据表,数据的操作
数据库简介 概念 什么是数据库?简单来说,数据库就是存储数据的"仓库", 但是,光有数据还不行,还要管理数据的工具,我们称之为数据库管理系统! 数据库系统 = 数据库管理系统 + ...
- mysql(三) 数据表的基本操作操作
mysql(三) 数据表的基本操作操作 创建表,曾删改查,主键,外键,基本数据类型. 1. 创建表 create table 表名( 列名 类型 是否可以为空, 列名 类型 是否可以为空 )ENGIN ...
- mysql 基本语法学习1(数据库、数据表、数据列的操作)
今天学习了一下mysql语法,并记录下来 1.mysql的数据库操作 /***1.操作数据库的语法 ***/ -- 1)显示所有数据库 -- show databases; -- 2)创建数据库 -- ...
- 一、初识MySQL数据库 二、搭建MySQL数据库(重点) 三、使用MySQL数据库 四、认识MySQL数据库的数据类型 五、操作MySQL数据库的数据(重点)
一.初识MySQL数据库 ###<1>数据库概述 1. 数据库 长期存储在计算机内的,由组织的可共享的数据集合 存储数据的仓库 文件 ...
- MySQL 第四篇:数据操作
一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...
- mysql 库,表,数据操作
一 系统数据库 information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息.列信息.权限信息.字符信息等performance_schema: MyS ...
随机推荐
- 转载-Eclipse导入第三方库的方法
作者:wyf_phper 原文:https://blog.csdn.net/qq_32985981/article/details/49976193 一:导入*.jar包步骤:将下载好的jar包复制到 ...
- Python爬虫简单实现CSDN博客文章标题列表
Python爬虫简单实现CSDN博客文章标题列表 操作步骤: 分析接口,怎么获取数据? 模拟接口,尝试提取数据 封装接口函数,实现函数调用. 1.分析接口 打开Chrome浏览器,开启开发者工具(F1 ...
- Spring Boot API 统一返回格式封装
今天给大家带来的是Spring Boot API 统一返回格式封装,我们在做项目的时候API 接口返回是需要统一格式的,只有这样前端的同学才可对接口返回的数据做统一处理,也可以使前后端分离 模式的开发 ...
- z-index属性详解
z-index属性详解 目录 z-index属性详解 一.定义和用法 二.代码 三.效果图 一.定义和用法 z-index属性指定一个元素的堆叠顺序,也就是z轴 position属性定义的是x轴和y轴 ...
- Python如何快速复制序列?
1 基本用法 把序列乘以一个整数,就会产生一个新序列.这个新序列是原始序列复制了整数份,然后再拼接起来的结果. l=[1,2,3] l2=l * 3 logging.info('l2 -> %s ...
- 【转载】VirtualBox 扩展增强包安装
1 扩展包作用 鼠标可自动在虚拟机和物理机中切换状态,而不用按快捷键解除独占功能 安装了扩展包后,可以解决 virtualbox 中 更改 ubuntu 分辨率无效的问题 2 原文地址 星朝 - Vi ...
- Sublime Text 3 安装插件与快捷键总结
ublime Text 3 是一个了不起的软件.首先,它是一个干净,实用,可以快速的编写代码编辑器.它不仅具有令人难以置信的内置功能(多行编辑和VIM模式),而且还支持插件,代码片段和其他许多东西.很 ...
- 如何让Visual Studio 2019更好用(VS2019配置指南)
今天电脑没带,借用外面的电脑配环境来用.刚下载完的VS是这样的: UI挺好看的,但代码窗口看起来就和上个世纪的VC6没什么区别,快捷键用起来也不顺手.(2333) 接下来,我们将一步步优化编写环境,让 ...
- 仿select下拉框
默认状态下,灰色面板出现.当点击页面按钮以及灰色面板外区域时,面板消失;点击按钮,灰色面板出现;点击灰色面板区域,面板不能消失. 主要考察:事件冒泡与取消事件冒泡. 代码: <!DOCTYPE ...
- binary hacks读数笔记(dlopen、dlsym、dlerror、dlclose)
1.dlopen是一个强大的库函数.该函数将打开一个动态库,并把它装入内存.该函数主要用来加载库中的符号,这些符号在编译的时候是不知道的.比如 Apache Web 服务器利用这个函数在运行过程中加载 ...