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`……];

  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 -
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

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;  
--
会提示错误,因为distinct必须放在开头

5、针对NULL的处理:distinct对NULL是不进行过滤的,即返回的结果中是包含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. EF删除数据

    1.方法一,面向对象 using (MyDbContent content = new MyDbContent()) { content.Entry<UserInfo>(model).St ...

  2. [Java][Liferay] 解决在Linux系统中liferay-ext项目无法卸载的问题

    今天遇到liferay-ext无法卸载,log中显示卸载了,但是在App Manager中依然可以看到安装过的ext,其中一个原因是webapps下面的**-ext文件夹的权限只有root才能修改,将 ...

  3. 国内外著名B2C系统介绍兼比较【收藏版】

    一.国内知名B2C系统 1.Shopex国内最大的电子商务系统,有各种辅助工具,php开发,免费但不开源,网店模板众多,较适合有淘宝店的卖家.网址:www.shopex.cn 2.ECshop免费且开 ...

  4. IDEA中的一些常用的设置与快捷键

    idea 清屏(控制台)快捷键 eclipse清屏快捷键为鼠标右键+R 而在idea中默认并没有清屏console的快捷键 所以需要我们自行设置: 1,ctrl+alt+s打开settings 2,找 ...

  5. 跨平台图表控件TeeChart使用教程:将图表数据导出为XML格式

    在开发者使用TeeChart进行开发的过程中,不管是在设计时或者运行时都可以使用的图表导出对话框将图表数据轻易地导出为XML格式: TeeChart最新版那下载地址 上图为TeeChart导出对话框的 ...

  6. ASP.NET MVC 音乐商店 - 5. 通过支架创建编辑表单

    在上一章,我们已经从数据库获取数据,然后显示出来,这一章,我们将允许编辑数据. 创建 StoreManagerController 控制器 我们将要创建称为 StoreManager 的控制器,对于这 ...

  7. eclipse 创建 user library 方法

    1.Window - Preferences - Java - Build Path - User Libraries 2.新建 UserLibraries 3. 4.重复上一步依次添加需要的jar文 ...

  8. ownCloud-9.1.1 (Ubuntu 16.04)

    平台: Ubuntu 类型: 虚拟机镜像 软件包: owncloud-9.1.1 commercial content management open-source owncloud storage ...

  9. Java项目性能瓶颈定位

    文章目标 当Java项目出现性能瓶颈的时候,通常先是对资源消耗做分析,包括CPU,文件IO,网络IO,内存:之后再结合相应工具查找消耗主体的程序代码.本文主要介绍系统资源消耗的分析过程,以及常用的Ja ...

  10. 来自NVIDIA开源的pix2pixHD,将Image-to-Image Translation带到了另一个境界

    Kuo Ming Lin 分享了 Learning By Hacking 的动图 最近討論最火熱的project之一,來自NVIDIA開源的pix2pixHD,將Image-to-Image Tran ...