用户操作

新建用户

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. 125 open source Big Data architecture papers for data professionals

    https://www.linkedin.com/pulse/100-open-source-big-data-architecture-papers-anil-madan

  2. 【repost】JavaScript 基本语法

    JavaScript 基本语法,JavaScript 引用类型, JavaScript 面向对象程序设计.函数表达式和异步编程 三篇笔记是对<JavaScript 高级程序设计>和 < ...

  3. 利用ONENET平台透传电脑截图

    这个仅供技术学习了 可以用在远程监控等行业,不用传统工具用的公网ip等比较坑爹的东西 还是比较方便的 需要的话请联系微信nbdx123

  4. Codeforces Round #539--1113B - Sasha and Magnetic Machines

    https://codeforces.com/contest/1113/problem/B 思想不难,但是在比较大小的时候,我选择了很笨的方法,我用两个数变化之后的差值大小来进行选择,然后最后再进行数 ...

  5. 【SP1811】 LCS - Longest Common Substring(SAM)

    传送门 洛谷 Solution 考虑他要求的是最长公共子串对吧,那么我们对于一个串建后缀自动机,另一个串在后缀自动机上面跑就是了. 复杂度\(O(n+m)\)的,很棒! 代码实现 代码戳这里

  6. Flask 中的路由系统

    基本用法 Django的路由系统url集中在一起,而Flask的路由系统以装饰器的形式装饰在视图上如: @app.route("/",methods=["GET" ...

  7. PICE(4):MongoDBStreaming - gRPC Protobuf conversion

    前两篇我们介绍了JDBC和Cassandra的gRPC streaming实现.相对MongoDB来说,JDBC和Cassandra支持字符类型的query语句SQL,CQL,所以把query指令转换 ...

  8. HoloLens开发手记 - 使用Windows设备控制台 Using Windows Device Portal

    Windows设备控制台允许你通过Wi-Fi或USB来远程控制你的HoloLens设备.设备控制台是HoloLens上的一个Web Server,你可以通过PC的浏览器来连接到它.设备控制台包含了很多 ...

  9. Python--DBUtil

    Python--DBUtil包 1 简介 DBUtils是一套Python数据库连接池包,并允许对非线程安全的数据库接口进行线程安全包装.DBUtils来自Webware for Python. DB ...

  10. vue 自动化部署 jenkins 篇

    前端项目打包部署,以前都是手工运行打包命令,打包结束后压缩,然后上传到服务器上解压部署.这种重复性的工作,确实有点让人烦,而且效率也不高. 本文基于 vue 的前端项目. GitHub 的代码仓库,简 ...