#创建一个用户并设置密码,注意IP地址要是登录mysql电脑的IP地址

USE mysql

CREATE USER lisi@'192.168.149.1' IDENTIFIED BY "111111"

CREATE USER lisi1@'192.168.149.10' IDENTIFIED BY "111111"

SELECT * FROM USER

#删除一个用户

DROP USER zhangsan@"192.168.149.1"

DROP USER lisi1@"192.168.149.10"

DELETE FROM USER WHERE USER="lisi1"

SELECT * FROM USER

#修改密码

UPDATE USER SET PASSWORD=PASSWORD("123456") WHERE USER="lisi"

#使新密码立即生效

FLUSH PRIVILEGES

#给lisi@"192.168.149.1"授权能查询test1数据库中的table1表的id属性

GRANT SELECT(id) ON test1.table1 TO "lisi"@"192.168.149.1" IDENTIFIED BY "123456"

#查看lisi@"192.168.149.1"的权限

SHOW GRANTS FOR lisi@"192.168.149.1"

#给lisi@"192.168.149.1"授权,让它能查询整个table1表的所有属性

GRANT SELECT ON test1.table1 TO "lisi"@"192.168.149.1" IDENTIFIED BY "123456"

#查看lisi@"192.168.149.1"的权限

SHOW GRANTS FOR lisi@"192.168.149.1"

#给lisi@"192.168.149.1"授权,让它能够查询test1数据库中的所有表的所有属性

GRANT SELECT ON test1.* TO "lisi"@"192.168.149.1"  IDENTIFIED BY "123456"

#查看lisi@"192.168.149.1"的权限

SHOW GRANTS FOR lisi@"192.168.149.1"

#权限没起作时,请刷新权限,如果还是不行,只能重新登录一次

FLUSH PRIVILEGES

#取消权限 ,取消对test1数据库所有表的查询权限

REVOKE SELECT ON test1.* FROM "lisi"@"192.168.149.1"    #此时,只能看到test1中的table1数据表了,看不到table2

#查看lisi@"192.168.149.1"的权限

SHOW GRANTS FOR lisi@"192.168.149.1"

#取消权限,取消对test1数据库table1中所有属性的查询权限

REVOKE SELECT ON test1.table1 FROM "lisi"@"192.168.149.1"

#查看lisi@"192.168.149.1"的权限

SHOW GRANTS FOR lisi@"192.168.149.1"

#取消权限,取消对test1数据库table1中id的查询权限

REVOKE SELECT(id) ON test1.table1 FROM "lisi"@"192.168.149.1"

#给lisi@"192.168.149.1"授权能查询test1数据库中的table1表的id和name属性

GRANT SELECT(id,NAME) ON test1.table1 TO "lisi"@"192.168.149.1" IDENTIFIED BY "123456"

#查看lisi@"192.168.149.1"的权限

SHOW GRANTS FOR lisi@"192.168.149.1"

#取消权限,取消对test1数据库table1中id的查询权限

REVOKE SELECT(id) ON test1.table1 FROM "lisi"@"192.168.149.1"   #此时lisi只能查询table1表中的name属性了,不能查询id属性了

#在定义了主键的表上,查看索引

SHOW INDEX FROM dept

#在没有定义主键的表上,查看索引

USE test1

SHOW INDEX FROM table1

#定义索引,方法1

CREATE INDEX index1 ON table1(id)

#查看索引

SHOW INDEX FROM table1

#定义索引,方法2

ALTER TABLE table2 ADD INDEX index1(id)

#查看索引

SHOW INDEX FROM table2

#定义索引,方法3

CREATE TABLE table3

(

id INT,

NAME VARCHAR(20),

INDEX index1(NAME)

)

#查看索引

SHOW INDEX FROM table3

#在table3上面删除索引

DROP INDEX index1 ON table3

#查看索引

SHOW INDEX FROM table3

#创建视图

CREATE VIEW view1

AS

SELECT * FROM table1

#通过视图查询数据

SELECT * FROM view1

#查看视图

SHOW TABLES

SHOW TABLE STATUS WHERE COMMENT="view"

#修改视图 方法1

ALTER VIEW view1

AS

SELECT * FROM table2

SELECT * FROM view1

SHOW TABLES

#修改视图 方法2

CREATE OR REPLACE VIEW view1

AS

SELECT * FROM table1

SHOW TABLES

SELECT * FROM view1

#通过视图修改原表的属性值

UPDATE view1 SET NAME="tigger" WHERE id=1

SELECT * FROM table1

SELECT * FROM view1

#对原表进行修改,视图中的数据也会修改

DELETE FROM table1 WHERE id=1

SELECT * FROM view1

#通过视图增加一行记录,原表中的记录也会增加

INSERT INTO view1 VALUES(1,"bird")

SELECT * FROM table1

#删除视图

DROP VIEW view1

SHOW TABLES

===================================================================

=========================================================

#查看函数功能的开关是否开启

SHOW VARIABLES LIKE "%func%"

#开启函数功能开关

SET GLOBAL log_bin_trust_function_creators=1

SHOW VARIABLES LIKE "%func%"

#创建函数1,不带函数

#因为sqlyog工具的原因,需要使用定界符,关键字是delimiter 后面定界符,表示程序的开始和结束

DELIMITER &

CREATE FUNCTION      helloworld()

RETURNS VARCHAR(20)

BEGIN

RETURN "hello world!";

END&

DELIMITER

#调用函数

SELECT helloworld() AS hello

#创建函数2,带参数

DELIMITER $$

CREATE FUNCTION getdate(riqi DATETIME)

RETURNS VARCHAR(50)

BEGIN

RETURN DATE_FORMAT(riqi,"%Y年%m月%d日 %h时%i分%s秒");

END$$

DELIMITER

#调用函数

SELECT getdate("2017-07-19 10:40:30")

#删除函数

DROP FUNCTION getdate

#调用函数 2

SELECT NOW()

SELECT getdate(NOW())

#查看所有函数

SHOW FUNCTION STATUS

#查看具体某个函数

SHOW CREATE FUNCTION getdate

SHOW CREATE FUNCTION helloworld

——————————————————————————————————

存储过程:

数据准备:

create database test1 default charactor set utf8 collate utf8_general_ci

create table hr

(

id int,

name varchar(20),

deptno int,

salary int

)engine=innodb default charset=utf8

INSERT INTO hr VALUES(1,"zhangsan",1,2000);

INSERT INTO hr VALUES(2,"lisi",1,2100);

INSERT INTO hr VALUES(3,"小明",2,2500);

INSERT INTO hr VALUES(4,"小红",2,2200);

INSERT INTO hr VALUES(5,"小王",3,1800);

INSERT INTO hr VALUES(6,"小陈",3,1900);

INSERT INTO hr VALUES(7,"小赵",3,3000)

#写一个存储过程,统计部门员工人数

DELIMITER $$

CREATE PROCEDURE proce1(IN dno INT,OUT total_number INT)

BEGIN

SELECT COUNT(id) INTO total_number FROM hr WHERE deptno=dno;

END$$

DELIMITER

#调用存储过程

#测试1部门的员工人数

CALL proce1(1,@test)

SELECT @test AS 人数

SELECT @test

#验证2部门的员工人数

CALL proce1(2,@renshu)

SELECT @renshu AS 人数

#验证3部门的员工人数

CALL proce1(3,@test)

SELECT @test

#验证一个不存在的部门的员工人数

CALL proce1(4,@test)

SELECT @test

#查看数据库中所有的存储过程

SHOW PROCEDURE STATUS

#查看具体某一个存储过程

SHOW CREATE PROCEDURE proce1

#删除一个存储过程

DROP PROCEDURE pro;

DROP PROCEDURE pro1;

DROP PROCEDURE pro2

mysql:用户管理、索引、视图、函数、存储过程的更多相关文章

  1. MySQL用户管理及权限设置

    mysql 用户管理和权限设置 用户管理 mysql>use mysql; 查看 mysql> select host,user,password from user ; 创建 mysql ...

  2. Mysql用户管理及权限分配

    早上到公司,在服务器上Mysql的数据库里新建了个database,然后本地的系统里用原来连接Mysql账号admin连这个数据库.结果报错了,大概是这样子的: Access denied for u ...

  3. MySQL用户管理及SQL语句详解

    1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysql.user; +--------+--- ...

  4. 【转】MySQL用户管理及SQL语句详解

    [转]MySQL用户管理及SQL语句详解 1.1 MySQL用户管理 1.1.1 用户的定义 用户名+主机域 mysql> select user,host,password from mysq ...

  5. MySQL(十六)之MySQL用户管理

    一.MySQL用户管理概述 MySQL是一个多用户的数据库,MYSQL的用户可以分为两大类: 超级管理员用户(root),拥有全部权限 普通用户,由root创建,普通用户只拥有root所分配的权限 二 ...

  6. 库增删该查,表增删该查,记录增删该查,表与表关系(多对多,多对一,一对一),mysql用户管理

    库增删该查 增加库 create database db1 create database db1 charset="gbk 查看库 show databases 查看所有库 show cr ...

  7. MySQL用户管理、常用sql语句、MySQL数据库备份恢复

    1.MySQL用户管理 给远程登陆用户授权:grant all on *.* to 'user1'@'127.0.0.1' identified by '123456' (这里的127.0.0.1是指 ...

  8. MySQL 用户管理与权限管理

    MySQL 用户管理与权限管理 -- 操作环境mysql> show variables like 'version';  +---------------+--------+| Variabl ...

  9. Python 42 mysql用户管理 、pymysql模块

    一:mysql用户管理 什么是mysql用户管理 mysql是一个tcp服务器,应用于操作服务器上的文件数据,接收用户端发送的指令,接收指令时需要考虑到安全问题, ATM购物车中的用户认证和mysql ...

  10. Linux centosVMware mysql用户管理、常用sql语句、mysql数据库备份恢复

    一.mysql用户管理 grant all on *.* to 'user1'@‘127.0.0.1’ identified by 'mimA123'; 创建user1用户 使用user1登录 /us ...

随机推荐

  1. 【转】android中的Style与Theme

    Android默认情况下提供了一些实用的主题样式,比如说Theme.Dialog可以让你的Activity变成一个窗口风格,而Theme.Light则让你的整个Activity具有白色的背景,而不是黑 ...

  2. node.js 下使用 util.inherits 来实现继承

    上一篇博客说到了node.js继承events类实现事件发射和事件绑定函数,其中我们实现了一个公用基类 _base ,然后在模型中差异化的定义了各种业务需要的模型并继承 _base 公共基类.但是其中 ...

  3. phpmyadmin 打开数据表较多,数据量较大的数据库时出现超时的解决办法

    用phpmyadmin打开数据表较多,数据量较大的数据库时,会出现超时,或者等半天打开了说数据库没有表.并且即便打开了,再进行其他浏览,编辑,sql等操作,页面也是相当慢的,慢等几乎无法忍受.这里慢也 ...

  4. 裁剪插件jCrop

    为大家介绍个插件:jCrop.这个插件被我用在了多个项目中,如通过画热力图来查看某块地方用户的浏览数,放大缩小拖动选框来实时预览所选区域的图片病裁剪,设置头像是选框必须要是正方形,它有着丰富的配置参数 ...

  5. 如何让HttpWebRequest使用指定网络接口传输数据

    using System; using System.Net; class Program { public static void Main () { foreach (var ip in Dns. ...

  6. 创建git及其初始化

    创建一个版本库非常简单,首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit 初始化一个 ...

  7. JavaEE权限管理系统的搭建(三)--------springmvc和mabatis整合环境搭建

    本节介绍如何环境的搭建和配置: 首先要在父工程引入jar包依赖: <!-- 通过属性定义指定jar的版本 --> <properties> <spring.version ...

  8. 我是如何根据豆瓣api来理解Restful API设计的

    1.什么是REST REST全称是Representational State Transfer,表述状态转移的意思.它是在Roy Fielding博士论文首次提出.REST本身没有创造新的技术.组件 ...

  9. ubuntu安装jdk6

    我的ubuntu版本是12.04的64位的.由于ubuntu官方没有更新最新版的jdk6,所以我们只能主动去oracle公司网站去下载.网站地址:http://www.oracle.com/techn ...

  10. Android Studio项目中三种依赖的添加方式

    通常一个AS项目中的依赖关系有三种,一是本地依赖(主要是对本地的jar包),二是模块依赖,三是远程依赖:添加这些依赖的目的在于上我们想要在项目的某一个模块中使用其中的功能,比如okttp这个网络框架库 ...