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 …;
三 更新数据UPDATE
- 语法:
- UPDATE 表名 SET
- 字段1=值1,
- 字段2=值2,
- WHERE CONDITION;
- 示例:
- UPDATE mysql.user SET password=password(‘123’)
- where user=’root’ and host=’localhost’;
四 删除数据DELETE
- 语法:
- DELETE FROM 表名
- WHERE CONITION;
- 示例:
- DELETE FROM mysql.user
- WHERE password=’’;
- 练习:
- 更新MySQL root用户密码为mysql123
- 删除除从本地登录的root用户以外的所有用户
五 查询数据SELECT
单表查询:http://www.cnblogs.com/moyand/p/9033536.html
多表查询:http://www.cnblogs.com/moyand/p/9033921.html
MySQL之汇总数据(AVG,COUNT,MAX,MIN,SUM)
六 权限管理
- #授权表
- user #该表放行的权限,针对:所有数据,所有库下所有表,以及表下的所有字段
- db #该表放行的权限,针对:某一数据库,该数据库下的所有表,以及表下的所有字段
- tables_priv #该表放行的权限。针对:某一张表,以及该表下的所有字段
- columns_priv #该表放行的权限,针对:某一个字段
- #按图解释:
- user:放行db1,db2及其包含的所有
- db:放行db1,及其db1包含的所有
- tables_priv:放行db1.table1,及其该表包含的所有
- columns_prive:放行db1.table1.column1,只放行该字段
- #创建用户
- create user 'egon'@'1.1.1.1' identified by '';
- create user 'egon'@'192.168.1.%' identified by '';
- create user 'egon'@'%' identified by '';
- #授权:对文件夹,对文件,对文件某一字段的权限
- 查看帮助:help grant
- 常用权限有:select,update,alter,delete
- all可以代表除了grant之外的所有权限
- #针对所有库的授权:*.*
- grant select on *.* to 'egon1'@'localhost' identified by ''; #只在user表中可以查到egon1用户的select权限被设置为Y
- #针对某一数据库:db1.*
- grant select on db1.* to 'egon2'@'%' identified by ''; #只在db表中可以查到egon2用户的select权限被设置为Y
- #针对某一个表:db1.t1
- grant select on db1.t1 to 'egon3'@'%' identified by ''; #只在tables_priv表中可以查到egon3用户的select权限
- #针对某一个字段:
- mysql> select * from t3;
- +------+-------+------+
- | id | name | age |
- +------+-------+------+
- | 1 | egon1 | 18 |
- | 2 | egon2 | 19 |
- | 3 | egon3 | 29 |
- +------+-------+------+
- grant select (id,name),update (age) on db1.t3 to 'egon4'@'localhost' identified by '';
- #可以在tables_priv和columns_priv中看到相应的权限
- mysql> select * from tables_priv where user='egon4'\G
- *************************** 1. row ***************************
- Host: localhost
- Db: db1
- User: egon4
- Table_name: t3
- Grantor: root@localhost
- Timestamp: 0000-00-00 00:00:00
- Table_priv:
- Column_priv: Select,Update
- row in set (0.00 sec)
- mysql> select * from columns_priv where user='egon4'\G
- *************************** 1. row ***************************
- Host: localhost
- Db: db1
- User: egon4
- Table_name: t3
- Column_name: id
- Timestamp: 0000-00-00 00:00:00
- Column_priv: Select
- *************************** 2. row ***************************
- Host: localhost
- Db: db1
- User: egon4
- Table_name: t3
- Column_name: name
- Timestamp: 0000-00-00 00:00:00
- Column_priv: Select
- *************************** 3. row ***************************
- Host: localhost
- Db: db1
- User: egon4
- Table_name: t3
- Column_name: age
- Timestamp: 0000-00-00 00:00:00
- Column_priv: Update
- rows in set (0.00 sec)
- #删除权限
- revoke select on db1.* from 'egon'@'%';
权限相关操作
MySQL 第四篇:数据操作的更多相关文章
- mysql第四篇:数据操作之多表查询
mysql第四篇:数据操作之多表查询 一.多表联合查询 #创建部门 CREATE TABLE IF NOT EXISTS dept ( did int not null auto_increment ...
- mysql第四篇--SQL逻辑查询语句执行顺序
mysql第四篇--SQL逻辑查询语句执行顺序 一.SQL语句定义顺序 SELECT DISTINCT <select_list> FROM <left_table> < ...
- mysql第四篇:数据操作
第四篇:数据操作 一.数据操作介绍 在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作 1.INSERT实现数据的插入 2.UPDATE实现数据的更新 3.DELETE实现数据的 ...
- mysql四:数据操作
一.介绍 MySQL数据操作: DML ======================================================== 在MySQL管理软件中,可以通过SQL语句中的 ...
- Nhibernate系列学习之(四) 数据操作
数据操作,在这里主要介绍INSERT.UPDATE.DELETE.我们在使用NHibernate的时候,如果只是查询数据,不需要改变数据库的值,那么是不需要提交或者回滚到数据库的. 一.INSERT ...
- mysql第四篇:数据操作之单表查询
单表查询 一.简单查询 -- 创建表 DROP TABLE IF EXISTS `person`; CREATE TABLE `person` ( `id` ) NOT NULL AUTO_INCRE ...
- Python操作Mysql数据库进阶篇——查询操作详解(一)
前面我们已经介绍了在Python3.x中如何连接一个Mysql数据库,以及怎么样对这个数据库创建一个表,增删改查表里的数据.想必大家对Mysql数据库和简单的sql语句有了一定的了解,其实sql语句博 ...
- MySQL(四)数据备份与还原
数据备份与还原: 备份:将当前已有的数据或者记录保留 还原:将已经保留的数据恢复到对应的表中 为什么要做备份还原: 1.防止数据丢失:被盗.误操作 2.保护数据的记录 数据备份还原的方式很多:数据表备 ...
- 多线程(四)~数据操作的原子性,使用原子性操作AutomicInteger替换非原子性的i++的操作
这一章,我们要来验证volatile关键字不是原子性的,OK,还是用代码来说话. ①.线程类,操作i++ 500次 package com.multiThread.thread; publicclas ...
随机推荐
- prometheus-operator 监控 Rabbitmq集群
首先我们监控服务需要知道prometheus-operator是如何去工作的,才好去写相关的yaml配置,这里我划分成了5个部分,如果容器服务本身就以k8s来编排的,那就只需要三步,这里因为我的rab ...
- Tomcat ngxin 反向代理
tomcat nginx 反向代理 安装nginx yum直接安装 yum install nginx –y 也可以编译安装 这是用编译安装,新手可以用yum安装 配置文件在 /etc/nginx/c ...
- 第十三次作业psp
psp 进度条 代码累积折线图 博文累积折线图 psp饼状图
- Daily Scrum (2015/11/8)
由于编译大作业临近deadline以及各项选修课即将结课,虽然PM强调软工任务也很紧迫,但是大多数成员表示今天想请假一天.符美潇今天把自己所负责的数据库编码部分和谢金洛的UI进行了对接.在测试过程中发 ...
- 渡过OO的死劫,了解规格的意义——OO第三次博客总结
当熬过了一次次黑暗,迎接我们的却是被扣的惨不忍睹的JSF ┭┮﹏┭┮ 一.总结调研 规格的历史 传统科学的特点是发现世界,而软件的特点是构造世界.软件的最底层就是0,1,两个离散的值.程序设计语言的三 ...
- Chapter 11 软件演化
软件一直在不断地演化发展,人们通常通过软件维护和软件再工程解决软件的缺陷.软件维护可以分为改正性维护.适应性维护和完善性维护几种类型.软件维护受开发过程影响大.软件维护困难大.软件维护成本高.软件维护 ...
- java 框架 面试 2
1.谈谈你对Struts的理解. 答: 1. struts是一个按MVC模式设计的Web层框架,其实它就是一个大大的servlet,这个Servlet名为ActionServlet,或是ActionS ...
- Android笔记-1
1.点击按钮出现小窗口(响应事件) 配置方式: Activity_main.xml文件中:<Button (输入)android: onClick=”test1” /> MainActiv ...
- wcf服务查看工具
文章:接口测试工具soapUI(一) 文章:VS自带WCF测试客户端简单介绍
- week3a:个人博客作业
1.博客上的问题 阅读下面程序,请回答如下问题: using System; using System.Collections.Generic; using System.Text; namespac ...