用户操作

新建用户

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. 1024 Palindromic Number int_string转换 大整数相加

    A number that will be the same when it is written forwards or backwards is known as a Palindromic Nu ...

  2. Linux连不上校园网怎么办?

    原本,在我们学校我只要连上WiFi打开浏览器, 它就会自动重定向到校园网登录的界面.但是今天浏览器并没有自己打开登录页面,一直在加载.于是我想直接登录路由器,在地址栏输入192.168.0.1,结果它 ...

  3. hive 命令行传入参数

    azkban实现任务重跑 我们执行sql的方式是将hql文件上传到服务器本地.然后执行shell命令 hive " -f ./test_scheduler.hql 注:hive -e 是执行 ...

  4. Presto + Superset 数据仓库及BI

    基于Presto和superset搭建数据分析平台. Presto可以作为数据仓库,能够连接多种数据库和NoSql,同时查询性能很高: Superset提供了Presto连接,方便数据可视化和dash ...

  5. jmeter集合点使用方法:Synchronizing Timer

    LR中集合点可以设置多个虚拟用户等待到一个点,同时触发一个事务,以达到模拟真实环境下多个用户同时操作,实现性能测试的最终目的. jmeter中使用Synchronizing Timer实现Lr中集合点 ...

  6. mac的safari浏览器调试ios手机网页

    iOS 6给Safari带来了远程的Web检查器工具. 一.参考链接 ios开发者文档 safari开发者工具 remote debugging safari 二.设置iphone 设置 -> ...

  7. 写好Java代码的30条经验总结

    成为一个优秀的Java程序员,有着良好的代码编写习惯是必不可少的.下面就让我们来看看代码编写的30条建议吧. (1) 类名首字母应该大写.字段.方法以及对象(句柄)的首字母应小写.对于所有标识符,其中 ...

  8. Java连接Mysql数据库警告: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be established

    详细错误: Establishing SSL connection without server's identity verification is not recommended. Accordi ...

  9. 使用 redis-dump 批量导入导出数据

    有时候需要将 redis 的数据进行导入导出操作,可以使用 redis-dump 这款工具. 一.安装RVM redis-dump 工具依赖于2.2以上版本的 ruby,而 centos 环境下 yu ...

  10. EntityFramework使用总结(与MVC4.0实现CURD操作)

    本篇文介绍一下Entity Framework Code First的简单用法,通过一个学生信息的增删查改来学习Entity Framework的使用及与存储过程的交互.我也是学习Entity Fra ...