用户操作

新建用户

grant 权限 on 数据库.表名 to 用户名@'访问地址' identified by "密码";

新建一个可以远程访问数据库的用户 test, 密码:ps12345 并且只赋予查询权限:

grant select on *.* to test@'%' identified by "ps12345";

用户格式: 用户名@'地址' , %表示所有,意思是所有远程主机都可以登录,root默认只能本地登录,可以上面的语句修改

赋予用户权限

指定部分授权

  grant insert,update,delete,select on *.* to test@'%';

授权所有权限

  grant all privileges on *.* to test@'%';

  后面加上 identified by "password" 可以修改密码;

  *.* 表示所有数据库的所有表

  mysql.* 表示mysql数据库的所有表

  mysql.user 表示mysql数据库的user表

撤销权限

  revoke update on *.*  from test@'%';  (撤销更新数据库的权限)

  revoke all on  *.*  from test@'%';  (撤销所有的权限)

删除用户

  drop user  test@'%';

查看权限

  show grants for test@'%';

数据操作

linux环境运行sql 文件

  如 test.sql 文件在/root 目录下

  登录mysql之后

  source  /root/test.sql;   #即可导入sql文件内容

新建数据库

  creat database database_name default character set utf8 collate utf8_general_ci;

  creat  database 数据库名 default character set utf8mb4 collate utf8mb4_unicode_ci;

新建表

creat table 表名 {

  字段一 类型

  字段二 类型

  字段三 类型

  ...

}

增删改查 针对表

  增 insert

    insert into 表名(字段1,字段2,...)value(值1,值2,...);

    insert into 表名(值1,值2,值3);

  删 delete

    delete from 表名 where 条件 ;不加条件会把表内所有的数据删除

  改 update

    update 表名 set 字段 = 值 where 条件; 不加条件会更新表内每条数据

  查 select

    select  * from 表名 where 条件; 不加条件会查出表内所有数据

聚合函数

    count(*)数据总数,min(字段)最小值,max(字段)最大值 ,sum(字段)字段内容求和,avg(字段)字段内容求平均值

综合性查询,条件查询

  group by (字段)   通过字段分组

  having

  在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

  like 模糊查询

    select 字段 from 表名 where 字段 like ‘st%’;   查询字段以 'st' 开头的数据

    select 字段 from 表名 where 字段 like ‘%st%’;  查询字段包含 'st' 的数据    

    select 字段 from 表名 where 字段 like ’%st';   查询字段以st 结尾的数据

  特殊字符处理

   java开发中,包含 '%' '_' '\' 特殊字符如何处理:

    需要用到转义字符  \

    %  ->  \%

    _  ->  \_

    \  ->  \\\\

    在java中可以如下处理:

    /**
* 处理 mysql 模糊查询语句 关键字keywords 包含 % \ _ 特殊字符问题
* @param keywords
* @return
*/
private static synchronized String HandleSqlLikeKey(String keywords) {
keywords = keywords.replaceAll("\\\\", "\\\\\\\\\\\\\\\\"); // \ -> \\\\
keywords = keywords.replaceAll("%", "\\\\%"); // % -> \%
return keywords.replaceAll("_", "\\\\_"); // _ -> \_ }

这里会觉得反斜杠“\"很多,这是因为  \\\\ 经过Java程序读取一次的时候,转义为 \\ ,到了数据库,再一次读取,第二次转义为 \

数据库某条数据的一个字段为 ’eg%cd‘ 如果想通过模糊查询找到(条件,包含%的字段),

那么在java开始接收参数的时候,查询条件的内容就应该是"\\\\%"

经过两次转义 \\\\%   变成 \% 拼接到sql中的样子就是

select * from tableName where value like '%\%%'

-- 不转义 sql拼接的结果是
select * from tableName where value like '%%%'
--会出差错 因为前两个%% mysql就读完了 模糊查询

6 函数调用,存储过程

mysql常见操作语句,建表,增删改查的更多相关文章

  1. mySQL CRUD操作(数据库的增删改查)

    一.数据库操作 1.创建数据库 create database 数据库名称 2.删除数据库 drop database 数据库名称   二.表操作 1.创建表 create table 表名 (    ...

  2. MySql CURD操作(数据的增删改查)

    1.增 格式  insert into 表名字 (列名) values(...); 两种方式 1.直接insert into 表名字 values(...);  全部插入 2.insert into ...

  3. Django框架之第二篇--app注册、静态文件配置、form表单提交、pycharm连接数据库、django使用mysql数据库、表字段的增删改查、表数据的增删改查

    本节知识点大致为:静态文件配置.form表单提交数据后端如何获取.request方法.pycharm连接数据库,django使用mysql数据库.表字段的增删改查.表数据的增删改查 一.创建app,创 ...

  4. Vc数据库编程基础MySql数据库的表增删改查数据

    Vc数据库编程基础MySql数据库的表增删改查数据 一丶表操作命令 1.查看表中所有数据 select * from 表名 2.为表中所有的字段添加数据 insert into 表名( 字段1,字段2 ...

  5. TESTUSERB 仅能对TESTUSERA 用户下的某些表增删改查、有些表仅能对某些列update,查询TESTUSERB 用户权限,获取批量赋予语句。

    TESTUSERB 仅能对TESTUSERA 用户下的某些表增删改查.有些表仅能对某些列update,查询TESTUSERB 用户权限,获取批量赋予语句. select 'grant '|| PRIV ...

  6. 用SpringBoot+MySql+JPA实现对数据库的增删改查和分页

    使用SpringBoot+Mysql+JPA实现对数据库的增删改查和分页      JPA是Java Persistence API的简称,中文名Java持久层API,是JDK 5.0注解或XML描述 ...

  7. Django框架(八)--单表增删改查,在Python脚本中调用Django环境

    一.数据库连接配置 如果连接的是pycharm默认的Sqlite,不用改动,使用默认配置即可 如果连接mysql,需要在配置文件中的setting中进行配置: 将DATABASES={} 更新为 DA ...

  8. Django框架(九)—— 单表增删改查,在Python脚本中调用Django环境

    目录 单表增删改查,在Python脚本中调用Django环境 一.数据库连接配置 二.orm创建表和字段 三.单表增删改查 1.增加数据 2.删除数据 3.修改数据 4.查询数据 四.在Python脚 ...

  9. GZFramwork数据库层《一》普通表增删改查

    运行结果:     使用代码生成器(GZCodeGenerate)生成tb_MyUser的Model 生成器源代码下载地址: https://github.com/GarsonZhang/GZCode ...

  10. GZFramwork数据库层《四》单据主从表增删改查

    同GZFramwork数据库层<三>普通主从表增删改查 不同之处在于:实例 修改为: 直接上效果: 本系列项目源码下载地址:https://github.com/GarsonZhang/G ...

随机推荐

  1. Maths | 二次型求偏导

  2. ubuntu 配置jdk报错解决办法

    vi /etc/profile ,添加如下代码 export JAVA_HOME=/home/mark/android/jdk1.8 export JRE_HOME=/home/mark/androi ...

  3. 桌面应用开发之WPF动态背景

      因为项目需要,在WPF开发的桌面应用中,登陆页面需使用动态背景.由于没有前端开发人员,所以由半吊子的后端开发人员根据效果图写前端xaml.去掉页面上边框,抽离动态背景设置代码: <Windo ...

  4. HashSet源码

    public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java. ...

  5. Codeforces Round #553 (Div. 2) C. Problem for Nazar 数学

    题意:从奇数列 1 3 5 7 9 ....  偶数列2 4 6 8 10...分别轮流取 1 2 4 ....2^n 个数构成新数列 求新数列的区间和 (就一次询问) 思路:首先单次区间和就是一个简 ...

  6. 75道经典AI面试题,我就想把你们安排的明明白白的!(含答案)

    基础知识(开胃菜) Python 1.类继承 有如下的一段代码: class A(object): def show(self): print 'base show' class B(A): def ...

  7. 杂七杂八的JavaScript

    一.input 焦点定位 1.定位input:(this.$refs.searchInput as HTMLInputElement).focus();   2.定位search,根据css选择器: ...

  8. ZZNU 2182 矩阵dp (矩阵快速幂+递推式 || 杜教BM)

    题目链接:http://47.93.249.116/problem.php?id=2182 题目描述 河神喜欢吃零食,有三种最喜欢的零食,鱼干,猪肉脯,巧克力.他每小时会选择一种吃一包. 不幸的是,医 ...

  9. Jenkins高危代码执行漏洞检测/开源漏洞靶场

    漏洞细节可以参看安全客的文章:https://bbs.ichunqiu.com/thread-22507-1-1.html Jenkins-CLI 反序列化代码执行(CVE-2017-1000353) ...

  10. Linux - 查看文件信息的三个命令

    ls命令 - list directory contents 显示文件详细信息:ls -l <file name> file命令 - determine file type determi ...