用户操作

新建用户

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. 桌面应用开发之WPF页面导航

    先看效果图 Get Start   为了项目解耦,使用mvvmlight框架.MVVM设计模式请自行了解. 1 新建项目   新建一个MvvmLight(WPF)项目,删除其中无关文件夹:Design ...

  2. docker安装redis 指定配置文件且设置了密码

    ---------首先,所有docker的命令,都可以用 docker help 来查询,这个挺好的,我反正记不住辣么多命令呀.   1.直接pull 官方镜像吧.没啥说的,这样方便省事.如果你非要用 ...

  3. PMP:1.引论

    全球项目管理业界定义的最重要的价值 观是责任.尊重.公正和诚实(成功准则).   项目是为创造独特的产品.服务或成果而进行的临时性工作:   开展项目是为了通过可交付成果达成目标.目标指的是工作所指向 ...

  4. mybatis分页查询,SqlServer 2008 查询速度很慢

    一个业务场景,需要进行union查询: 查询速度非常慢,大概要37秒: 直接复制sql在数据库客户端执行,速度很快,由此可知是mybatis的原因,在网上搜索,可以配置fetchSize=" ...

  5. 【接口时序】8、DDR3驱动原理与FPGA实现(一、DDR的基本原理)

    一. 软件平台与硬件平台 软件平台: 1.操作系统:Windows-8.1 2.开发套件:无 3.仿真工具:无 硬件平台: 1. FPGA型号:无 2. DDR3型号:无 二. 存储器的分类 存储器一 ...

  6. c# 遍历所有安装程序 获取所有已经安装的程序

    /// <summary> /// 获取所有已经安装的程序 /// </summary> /// <param name="reg"></ ...

  7. Javascript百学不厌 - this

    最近看了一本书,让自己的野路子走走正规路线 方法调用模式: 方法:当一个函数被保存为对象的一个属性时,我们称它为一个方法. var obj = { fun1: function() {this} // ...

  8. springboot知识点补充(一)

    测试配置 @RunWith(SpringRunner.class) @SpringBootTest @Configuration @ActiveProfiles("test") p ...

  9. Dispatch Queue 之 Invoke 当前队列

  10. Go语言标准库之time

    Go语言标准库之time 时间的格式化和解析 格式化 Format Go语言和其他语言的时间格式化的方式不同,Go语言格式化的方式更直观,其他的语言一般是yyyy-mm-dd package main ...