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、        删除用户:

语法:
  
DROP USER `username1`@`host`[,`username2`@`host`……];

  EgDROP 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

执行后结果如下:

实际上是根据nameid两个字段来去重的,这种方式AccessMySQLSQL Server同时支持。

Eg

select distinct xing, ming from B

返回如下结果:

返回的结果为两行,这说明distinct并非是对xingming两列字符串拼接后再去重的,而是分别作用于了xingming列。

注意:从上例中可以发现,当distinct应用到多个字段的时候,其应用的范围是其后面的所有字段,而不只是紧挨着它的一个字段,

而且distinct只能放到所有字段的前面

如下语句是错误的:

SELECT xing, distinct ming from B; // 该语句是错误的

抛出错误如下:

[Err] 1064 -
You have an error in your SQL syntax;

check the
manual that corresponds to your MySQL server version for the right syntax to
use near ‘DISTINCT province from B’ at line 1

3COUNT统计

select count(distinct name) from A;   --表中name去重后的数目, SQL ServerMySQL支持,而Access不支持

count是不能统计多个字段的,下面的SQL无法运行。

select count(distinct name, id) from A;

若想使用,请使用嵌套查询,如下:

select count(*) from (select distinct xing, name from B) AS M;

4distinct必须放在开头:

distinct应用到多个字段的时候,其应用的范围是其后面的所有字段,而不只是紧挨着它的一个字段,而且distinct只能放到所有字段的前面,

select id, distinct name from A;  
--
会提示错误,因为distinct必须放在开头

5、针对NULL的处理:distinctNULL是不进行过滤的,即返回的结果中是包含NULL值的。

6、与ALL不能同时使用

默认情况下,查询时返回所有的结果,此时使用的就是all语句,这是与distinct相对应的,如下:

select all country, province from person

7、与distinctrow同义

select distinctrow expression[,expression...] from tables [where
conditions];

这个语句与distinct的作用是相同的。

8、对*的处理:*代表整列,使用distinct*操作
select
DISTINCT * from person 

相当于

select
DISTINCT id, `name`, country, province, city from person;

9其他

distinct语句中select显示的字段只能是distinct指定的字段,其他字段是不可能出现的。例如,假如表A备注列,如果想获取distinc name,以及对应的备注字段,想直接通过distinct是不可能实现的。

 

JAVA / MySql 编程——第六章 Mysql 创建账户的相关命令的更多相关文章

  1. java面向对象编程——第六章 数组

    1.数组概述 数组是存储在一个连续的内存块中的元素集合.数组中的每个元素必须是相同的数据类型,并且通过索引进行区分.数组中的第一个元素的索引为0. 在java中,创建数组有两个步骤: 声明一个对数组的 ...

  2. “全栈2019”Java多线程第二十六章:同步方法生产者与消费者线程

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  3. “全栈2019”Java多线程第十六章:同步synchronized关键字详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java多 ...

  4. “全栈2019”Java异常第十六章:Throwable详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java异 ...

  5. “全栈2019”Java第一百零六章:匿名内部类与抽象类接口注意事项

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  6. “全栈2019”Java第七十六章:静态、非静态内部类访问权限

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  7. “全栈2019”Java第五十六章:多态与字段详解

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  8. “全栈2019”Java第四十六章:继承与字段

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

  9. “全栈2019”Java第三十六章:类

    难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第 ...

随机推荐

  1. Powershell(3)

    Powershell 可以使用powershell管理的服务 share point, exchange, lync, windows azure, window server, system cen ...

  2. C#中正则表达式的构建与匹配

    使用方法 [1]用用命名空间System.Text.RegularExpressions [2]构造正则表达式 在使用正则表达式时,要先构造正则表达式,这就用到了Regex类,其构建方式有两种: 基本 ...

  3. Hibernate课程 初探一对多映射4-3 测试--信息查询

    建立双向一对多关系,既可以由一方查询多方信息,同样可以由多方查询一方信息 demo: //查询学生所在班级 public static void showGidByStudent(){ Session ...

  4. laravel安装时openssl_encrypt() 的问题?Call to undefined function openssl_decrypt()

    解决方案: 如果通过上面的步骤还是不能解决参考如下: 1.从php安装根目录中拷贝 libeay32.dll 和 ssleay32.dll 然后 覆盖掉apache/bin 下的对应文件(注意需要将h ...

  5. 转:解决Arcsde用户锁定的问题

    采用arcgis平台做GIS应用的人,可能偶尔碰到sde用户锁定(Arccatalog 或应用程序异常退出的时比较多)的问题,往往咱们解决的办法是重启sde服务.如果一个服务器上有多个连接时,重启服务 ...

  6. 【MATLAB】画信号频谱的子函数

    输入信号序列和采样率,该子函数可以画出该信号的频谱图. function [f,spec,NFFT]=spec_fft_plot(sample,L,Fs) % 输入数据说明: % sample:信号序 ...

  7. Node.js-sublime text3 配置node.js(ERROR: The process "node.exe" not found.)

    默认已经安装好sublime.node和npm 1.sublime的node.js插件下载 由于在package control上经常下载失败,所以这里直接从GitHub上进行下载! GitHub下载 ...

  8. Seafile开源私有云自定义首页Logo图片

    Seafile是一个开源.专业.可靠的云存储平台:解决文件集中存储.共享和跨平台访问等问题,由北京海文互知网络有限公司开发,发布于2012年10月:除了一般网盘所提供的云存储以及共享功能外,Seafi ...

  9. 搭建TFTP服务器配置

    实验内容: TFTP是TCP/IP协议族中的一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂,开销不大的文件传输服务.TFTP承载在UDP上,提供不可靠的数据传输服务,不提供存取授权与认 ...

  10. frame、window和dialog区别

    属性 Window Frame Dialog 模式化 不是 不是 不是(可设置) 可调大小 不可 可 可 标题栏 无 有 有 边界 无 有 有 标题 无 有 有 菜单栏 无 有 无 焦点管理器 有 有 ...