JAVA / MySql 编程——第六章 Mysql 创建账户的相关命令
1、 创建普通用户:
|
语法: CREATE USER `user`@`host` [IDENTIFIED 'password']; //user:用户名,host:主机名,password:密码; |
|
|
Eg:创建本地用户teacher,密码为123456, CREATE USER `teacher`@`localhost` IDENTIFIED BY '123456'; |
Eg:本地用户student,无密码 CREATE USER `student`@`localhost`; |
|
`@`localhost`:本地用户,允许登录其他主机可省略 |
|
2、 创建用户并授权:
|
GRANT语句可实现创建用户同时授权或为已存在的用户授权; |
|
语法: GRANT priv_type ON databasename.tablename // priv_type:用户操作权限列表; // databasename.tablename:权限范围,即库名.表名 TO `user`@`host`[IDENTIFIED BY 'password'] [WITH GRANT OPTION]; //赋予GRANT权限 |
|
常用操作权限 CREATE和DROP权限 INSERT、DELETE、SELECT和UPDATE权限 ALTER权限 |
|
注:1.如果授予所有权限, priv_type可使用ALL 2.为所有数据库和表授权,权限范围可使用*.* |
|
Eg:创建本地用户xiaoming,密码123456,赋予myschool数据库中student表增加和查询权限 GRANT INSERT,SELECT ON myschool.student TO `xiaoming`@`localhost` IDENTIFIED BY '123456'; |
|
Eg:为student@localhost用户授予myschool数据库中view_student视图的查询权限 GRANT SELECT ON myschool.view_student TO `student`@`localhost`; |
|
创建用户报错的: mysql> grant all on epet.*to `QINGG`@`localhost` identified by '1234'; ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement 解决方法: mysql> flush privileges Query OK, 0 rows affected (0.01 sec) mysql> grant all on epet.*to `QINGG`@`localhost` identified by '1234'; Query OK, 0 rows affected, 1 warning (0.01 sec) |
3、 使用mysqladmin命令修改root账户密码:
|
语法: mysqladmin–u username –p password "newpassword" // newpassword:新密码 |
|
注:mysqladmin需在DOS命令行执行,回车后输入原密码; |
|
Eg:将root密码修改为1234 mysqladmin –u root –p password "1234" Enter password:**** |
4、 使用SET命令修改用户密码:登录MySQL服务器后,使用SET命令修改当前用户密码;
|
语法: SET PASSWORD [FOR `username`@`host`]= PASSWORD("newpassword") //[FOR `username`@`host`]:可指定修改其他用户密码 |
|
|
注:只有超级管理员用户(如root用户)才能修改其他用户密码,如果是普通用户,可修改自己的密码; |
|
|
Eg:修改当前用户密码 SET PASSWORD = PASSWORD("0000"); |
Eg:修改其他用户密码 SET PASSWORD FOR `teacher`@`localhost`= PASSWORD("8888"); |
5、 删除用户:
|
语法: Eg:DROP USER `student`@`localhost`; |
6、
DISTINCT:distinct一般是用来去除查询结果中的重复记录的,而且这个语句在select、insert、delete和update中只可以在select中使用;
|
Eg:在表中,可能会包含重复值。这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值。关键词 distinct用于返回唯一不同的值。 表A:
表B:
|
|
1.作用于单列 select distinct name from A 执行后结果如下:
|
|
2、作用于多列 Eg: select distinct name, id from A 执行后结果如下:
实际上是根据name和id两个字段来去重的,这种方式Access、MySQL、SQL Server同时支持。 Eg: select distinct xing, ming from B 返回如下结果:
返回的结果为两行,这说明distinct并非是对xing和ming两列“字符串拼接”后再去重的,而是分别作用于了xing和ming列。 注意:从上例中可以发现,当distinct应用到多个字段的时候,其应用的范围是其后面的所有字段,而不只是紧挨着它的一个字段, 而且distinct只能放到所有字段的前面, 如下语句是错误的: SELECT xing, distinct ming from B; // 该语句是错误的 抛出错误如下: [Err] 1064 - check the |
|
3、COUNT统计 select count(distinct name) from A; --表中name去重后的数目, SQL Server、MySQL支持,而Access不支持 count是不能统计多个字段的,下面的SQL无法运行。 select count(distinct name, id) from A; 若想使用,请使用嵌套查询,如下: select count(*) from (select distinct xing, name from B) AS M; |
|
4、distinct必须放在开头: 当distinct应用到多个字段的时候,其应用的范围是其后面的所有字段,而不只是紧挨着它的一个字段,而且distinct只能放到所有字段的前面, select id, distinct name from A; |
|
5、针对NULL的处理:distinct对NULL是不进行过滤的,即返回的结果中是包含NULL值的。 |
|
6、与ALL不能同时使用 默认情况下,查询时返回所有的结果,此时使用的就是all语句,这是与distinct相对应的,如下: select all country, province from person |
|
7、与distinctrow同义 select distinctrow expression[,expression...] from tables [where 这个语句与distinct的作用是相同的。 |
|
8、对*的处理:*代表整列,使用distinct对*操作 相当于 select |
|
9、其他 distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不可能出现的。例如,假如表A有“备注”列,如果想获取distinc name,以及对应的“备注”字段,想直接通过distinct是不可能实现的。 |
JAVA / MySql 编程——第六章 Mysql 创建账户的相关命令的更多相关文章
- java面向对象编程——第六章 数组
1.数组概述 数组是存储在一个连续的内存块中的元素集合.数组中的每个元素必须是相同的数据类型,并且通过索引进行区分.数组中的第一个元素的索引为0. 在java中,创建数组有两个步骤: 声明一个对数组的 ...
- “全栈2019”Java多线程第二十六章:同步方法生产者与消费者线程
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java多线程第十六章:同步synchronized关键字详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...
- “全栈2019”Java异常第十六章:Throwable详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...
- “全栈2019”Java第一百零六章:匿名内部类与抽象类接口注意事项
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第七十六章:静态、非静态内部类访问权限
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第五十六章:多态与字段详解
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第四十六章:继承与字段
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
- “全栈2019”Java第三十六章:类
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...
随机推荐
- genymotion安装及使用出现的问题
此处总结genymotion出现的问题. 1)安装好genymotion后,新建一个模拟器.去下载的时候报错 Unable to create Virtual Device: Connection t ...
- Day4下午
不会啊. T1 找规律: 辗转相减,加速. #include<iostream> #include<cstring> #include<cstdio> #inclu ...
- 从0到1构建适配不同端(微信小程序、H5、React-Native 等)的taro + dva应用
从0到1构建适配不同端(微信小程序.H5.React-Native 等)的taro + dva应用 写在前面 Taro 是一套遵循 React 语法规范的 多端开发 解决方案.现如今市面上端的形态多种 ...
- svg保存为图片下载到本地
今天给大家说一个将svg下载到本地图片的方法,这里我不得不吐槽一下,为啥博客园不可以直接上传本地文件给大家用来直接下载分享呢,好,吐槽到此为止! 这里需要用到一个js文件,名字自己起,内容如下: (f ...
- jQueryMobile(二)
三].按钮 <!-- 一个jQueryMobile页面 --> <div data-role='page'> <div data-role='header'>< ...
- 夜色的 cocos2d-x 开发笔记 00
第一次写博客,本人还是大二学生,纯新手,无论是文章的技术性,还是参考性,都不高,但却是根据我的经历,开发过的真实过程,对自己记载一些备忘的笔记,更希望也能帮到一些人. 本人用的win7 + vs201 ...
- js&jquery:添加事件的三种方法和常用的一些事件
一.添加事件的方法 1.EventTarget.addEventListener添加 获取事件目标元素,通过addEventListener函数添加 // Assuming myButton is a ...
- ubuntu16.04安装中文输入法(转)
转自: https://zhidao.baidu.com/question/619127469641961052.html ubuntu没有预装中文输入法,需要自己安装 sudo apt instal ...
- 使用ABAP Push Channel(APC)开发的乒乓球游戏,可双打
url: https://:/sap/bc/apc_test/ping_pong/game 或者事务码SICF, 输入ping_pong, 按F8: 选中搜索结果,点右键选择Test,即可打开url. ...
- 腾讯CodeStar第二季前端突击队腐蚀的画解法步骤笔记
所有题目地址:http://codestar.alloyteam.com/q2 本题内容:http://www.cnblogs.com/yedeying/p/3617593.html 腐蚀的画涉及到的 ...




