mysql四:数据操作
一、介绍
MySQL数据操作: DML
========================================================
在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括
- 使用INSERT实现数据的插入
- UPDATE实现数据的更新
- 使用DELETE实现数据的删除
- 使用SELECT查询数据以及。
========================================================
二、插入数据INSERT
1. 插入完整数据(顺序插入)
语法一:
INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n); 语法二:
INSERT INTO 表名 VALUES (值1,值2,值3…值n); 2. 指定字段插入数据
语法:
INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…); 3. 插入多条记录
语法:
INSERT INTO 表名 VALUES
(值1,值2,值3…值n),
(值1,值2,值3…值n),
(值1,值2,值3…值n); 4. 插入查询结果
语法:
INSERT INTO 表名(字段1,字段2,字段3…字段n)
SELECT (字段1,字段2,字段3…字段n) FROM 表2
WHERE …;
往一张表里插记录可以用select代替values,把查的结果直接传给表相应的字段,查出来的结果必须和表的字段一一对应。
三、更新数据UPDATE
语法:
UPDATE 表名 SET
字段1=值1,
字段2=值2,
WHERE CONDITION; 示例:
UPDATE mysql.user SET password=password(‘123’)
where user=’root’ and host=’localhost’;
更新mysql库下的user表,设置字段password=password('123'),用来将密码加密,where指定需要改掉密码的记录,用户为root且地址为localhost的记录。定位到记录后,把符合条件的password都进行修改。
四、删除数据DELETE
语法:
DELETE FROM 表名
WHERE CONITION; 示例:
DELETE FROM mysql.user
WHERE password=’’; 练习:
更新MySQL root用户密码为mysql123
删除除从本地登录的root用户以外的所有用户
删除符合条件的一些记录用delete。
如果要删除整张表,可以用truncate。# 应该用truncate清空表,比起delete一条一条地删除记录,truncate是直接清空表,在删除大表时用它。
语法:
truncate 表名;
示例:
truncate student1;
五、查询数据SELECT
单表查询:http://www.cnblogs.com/xiugeng/p/9028541.html
多表查询:http://www.cnblogs.com/xiugeng/p/9030720.html
六、权限管理和Navicat工具
1、权限管理
授权:对文件夹,对文件,对文件某一字段的权限。授权操作只能通过root用户!!
查看帮助:help grant
常用权限有:select,update,alter,delete all可以代表除了grant之外的所有权限。
#授权操作只能通过root用户!! set global validate_password_policy=0;
set global validate_password_length=1;
# 安全设置问题,查看这个:http://www.jb51.net/article/95399.htm
创建账号:
# 本地账号
create user 'egon'@'localhost' identified by '1234'; # mysql -uegon -p123
# 远程账号
create user 'egon'@'192.168.31.10' identified by '1234'; # mysql -uegon -p123 -h 服务端ip
# 让一个网段内所有机器都可以登录
create user 'egon'@'192.168.31.%' identified by '1234';
# 让所有能Ping通机器都可以登录
create user 'egon'@'%' identified by '1234'; 授权级别
user:*.* 对所有库所有表
db:db1.* 对db1库里所有表
table_priv:db1.t1 对某一个表开放权限
columns_priv:id,name 对某一个字段开放权限 授权方法
# user级别 select * from mysql.user\G;可以查看授权情况
# 授权
grant select on *.*; 授权所有库所有表的select
grant select on *.* to 'egon'@'localhost';
grant all on *.* to 'egon'@'localhost'; 授权对所有库下所有表的权限(all不包含grant权限)
# 收回权限
revoke select on *.* from 'egon'@'localhost';
# db级别 select * from mysql.db\G;可以查看授权情况
# 授权
grant selcect on db1.* to 'egon'@'localhost';
# 收回权限
revoke select on db1.* from 'egon'@'localhost';
# table select * from mysql.tables_priv\G;查看授权情况
# 授权
grant select on db1.t2 to 'egon'@'localhost';
# 收回权限
revoke select on db1.t2 from 'egon'@'localhost';
# 字段级别
# 授权
grant select(id,name), update(age) on db1.t2 to 'egon'@'localhost'; # 字段的查看、字段的更新权限
# 收回权限
revoke select(id,name),update(age) from db1.t2 to 'egon'@'localhost';
2、Navicat
在生产环境中操作MySQL数据库还是推荐使用命令行工具mysql,但在我们自己开发测试时,可以使用可视化工具Navicat,以图形界面的形式操作MySQL数据库
官网下载:https://www.navicat.com/en/products/navicat-for-mysql 网盘下载:https://pan.baidu.com/s/1bpo5mqj 需要掌握的基本操作 掌握:
#1. 测试+链接数据库
#2. 新建库
#3. 新建表,新增字段+类型+约束
#4. 设计表:外键
#5. 新建查询
#6. 备份库/表 #注意:
批量加注释:ctrl+?键
批量去注释:ctrl+shift+?键
mysql四:数据操作的更多相关文章
- mysql四:数据操作
一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...
- Mysql(四):数据操作
一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...
- 数据库 MySQL 之 数据操作
数据库 MySQL 之 数据操作 一.MySQL数据类型介绍 MySQL支持多种类型,大致可以分为四类:数值.字符串类型.日期/时间和其他类型. ①二进制类型 bit[(M)] 二进制位(101001 ...
- mysql之数据操作
一 介绍 MySQL数据操作: DML 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现 ...
- MySQL 之 数据操作
一 介绍 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括 使用INSERT实现数据的插入 UPDATE实现数据的更新 使用DELETE实现数据的删除 使用SELECT ...
- MySQL 数据库 -- 数据操作
数据的增删改 一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过 ...
- MySQL 简洁 数据操作 增删改查 记不住的 看这里把
1.库操作====================== 1.创建 CREATE DATABASE DB2 charset utf8; 2.删除 DROP DATABASE db2; 3.使用(进入) ...
- mysql五:数据操作
一 介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...
- mysql 写数据操作几次硬盘?
mysql 写数据步骤: 1:写入操作事物日志,持久化操作日志到磁盘,并且只是写在磁盘上一小块区域内的顺序io,不需要像随机io一样 在磁盘多个地方移动磁头 2:内存中事物日志持久化以后 ,写入的数 ...
- Database学习 - mysql 数据库 数据操作
mysql数据操作 查询语法 select * | field1,field1 ... from 表名 where 条件 group by 字段 having 筛选 order by 字段 limit ...
随机推荐
- 从图片中提取html格式的布局
制作界面的自动化 意义:对于程序设计人员来说,比较痛苦的是制作界面.从设计人员发送的稿件(通常为jpg格式),到完成html的布局,需要将图像转化为div标记,自动化这一过程十分有意义 1.设计一个工 ...
- Linux下指定线程的名字
为了能方便的区分一个进程中的每个线程,可以通过prctl()给每个线程取个名字.这样在会创建多个线程的程序执行过程中,就能知道一个pid或tid对应的是哪个线程,对调试程序有一定帮助. prctl是个 ...
- External Tools
Preferences偏好设置-External Tools External Tools: External Script Editor:外部脚本编辑器,通过此项可以切换您所擅用的脚本的编辑器 Ed ...
- 利用CountDownLatch和Semaphore测试案例
package com.cxy; import java.util.HashMap; import java.util.Map; import java.util.concurrent.CountDo ...
- java并发包&线程池原理分析&锁的深度化
java并发包&线程池原理分析&锁的深度化 并发包 同步容器类 Vector与ArrayList区别 1.ArrayList是最常用的List实现类,内部是通过数组实现的, ...
- abp学习资料
参考: https://www.jianshu.com/p/a6e9ace79345
- codeforces 1100F Ivan and Burgers 线性基 离线
题目传送门 题意: 给出 n 个数,q次区间查询,每次查询,让你选择任意个下标为 [ l , r ] 区间内的任意数,使这些数异或起来最大,输出最大值. 思路:离线加线性基. 线性基学习博客1 线性基 ...
- linux安装PHP7以及扩展
Linux下安装PHP7 事先升级gcc4.8,然后安装PHP7,安装步骤参考:CentOS安装PHP7 1.Linux下编译的php没有php.ini 解决办法:从源代码目录中复制php.ini-d ...
- PIE SDK与Matlab结合说明文档
1.功能简介 Matlab是三大数学软件之一,它在数学类科技应用软件中在数值计算方面首屈一指.Matlab可以进行矩阵运算.绘制函数和数据.实现算法.创建用户界面.连接其他编程语言的程序等,主要应用于 ...
- webAPI过滤器返回数据加密
项目需求: 接口返回的数据,存在一些敏感信息,不希望其他用户看到,将Data进行加密传输 代码如下: public class EncryptDataFilterAttribute : ActionF ...