MySQL
文章平均质量分 61
大鹏小站
一个快乐敲代码的程序猿
展开
-
mysql5.7创建新用户并给授权指定的数据库权限
1、使用 root 管理员登陆 mysqlmysql -uroot -p;2、创建新用户CREATE USER ‘CPSAdmin’@’%’ IDENTIFIED BY ‘CPSAdmin123’;‘%’ - 所有情况都能访问‘localhost’ - 本机才能访问’111.222.33.44‘ - 指定 ip 才能访问3、给该用户添加权限grant all privileges on gps_data.* to ‘CPSAdmin’@’%’;all 可以替换为 select,delete原创 2021-01-12 10:27:08 · 1527 阅读 · 0 评论 -
mysql中如何使用合适的字段和字段长度
下面是mysql一个字段中含有哪些信息一般重要的字段为类型,长度,属性,非空,索引,自增等等。注:A_I:auto_increment,代表自增。字段的类型有好多种,先说下字段中比较常用的类型和长度整数型1、整数型的数值类型已经限制了取值范围,有符号整型和无符号整型都有,而M值并不代表可以存储的数值字符长度,它代表的是数据在显示时显示的最小长度;2、当存储的字符长度超过M值时,没有任何的影响,只要不超过数值类型限制的范围;3、当存储的字符长度小于M值时,只有在设置了zerofill用0来原创 2020-09-26 11:39:55 · 1946 阅读 · 0 评论 -
mysql group_concat()函数总结
group_concat(),手册上说明:该函数返回带有来自一个组的连接的非NULL值的字符串结果。比较抽象,难以理解。通俗点理解,其实是这样的:group_concat()会计算哪些行属于同一组,将属于同一组的列显示出来。要返回哪些列,由函数参数(就是字段名)决定。分组必须有个标准,就是根据group by指定的列进行分组。group_concat函数应该是在内部执行转载 2017-09-26 17:19:20 · 543 阅读 · 0 评论 -
MySQL添加字段,修改字段,删除字段,修改表信息
MySql的简单语法,常用,却不容易记住。当然,这些Sql语法在各数据库中基本通用。下面列出:一:查询信息1.登录数据库>mysql -u root -p 数据库名称2.查询所有数据表>show tables;3.查询表的字段信息>desc 表名称;二: 修改表信息1.修改表名alter table test_a rename to sys_...原创 2017-10-26 11:09:33 · 3534 阅读 · 0 评论 -
MySQL中删除重复数据只保留一条
用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断SELECT * FROM people WHERE peopleId IN ( SELECT peopleId FR原创 2017-04-06 15:48:11 · 1388 阅读 · 0 评论 -
阿里云centos7 安装mysql 5.7教程以及中间遇到的问题处理方法
今天准备在阿里云centos7上装一个mysql 碰到许多问题,记录一下Mysql 下载地址 https://dev.mysql.com/downloads/mysql/#downloads下载第一个就可以了612.1M需要注册登录如果没有可以私信我 然后安装参考http://www.jb51.net/article/87160.htm?pc安装的时间就开始碰到问题My原创 2018-01-23 20:09:18 · 633 阅读 · 0 评论 -
数据库字符集与排序规则(Character Set And Collation)
数据库需要适应各种语言和字符就需要支持不同的字符集(Character Set),每种字符集也有各自的排序规则(Collation)。(注意:Collation原意为校对,校勘,但是根据实际使用场景,觉得还是翻译为排序规则比较合适) 在绝大部分情形中,使用何种字符集和排序规则决定于服务器,数据库和表的级别,一般SQL操作不必关心这些。以下操作均以MySQL为例。转载 2018-03-05 11:09:00 · 1328 阅读 · 0 评论 -
MySQL大数据量分页查询方法及其优化
---方法1: 直接使用数据库提供的SQL语句---语句样式: MySQL中,可用如下方法: SELECT * FROM 表名称 LIMIT M,N---适应场景: 适用于数据量较少的情况(元组百/千级)---原因/缺点: 全表扫描,速度会很慢 且 有的数据库结果集返回不稳定(如某次返回1,2,3,另外的一次返回2,1,3). Limit限制的是从结果集的M位置处取出N条输出,其余抛弃.---方法...转载 2018-06-13 19:04:15 · 461 阅读 · 4 评论 -
MySQL为什么需要一个主键
主键表中每一行都应该有可以唯一标识自己的一列(或一组列)。一个顾客可以使用顾客编号列,而订单可以使用订单ID,雇员可以使用雇员ID 或 雇员社会保险号。主键(primary key) 一列(或一组列),其值能够唯一区分表中的每个行。唯一标识表中每行的这个列(或这组列)称为主键。没有主键,更新或删除表中特定行很困难,因为没有安全的方法保证只设计相关的行。虽然并不总是都需要主键,但大多数数据库设计人员...转载 2018-06-24 18:36:12 · 574 阅读 · 0 评论 -
Mysql 如何设置字段自动获取当前时间
应用场景: 1、在数据表中,要记录每条数据是什么时候创建的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录创建时间;2、在数据库中,要记录每条数据是什么时候修改的,不需要应用程序去特意记录,而由数据数据库获取当前时间自动记录修改时间; 实现方式: 1、将字段类型设为 TIMESTAMP 2、将默认值设为 CURRENT_TIMESTAMP ...转载 2018-09-21 11:34:05 · 191 阅读 · 0 评论 -
MySQL中varchar最大长度是多少?
原文地址:http://www.cnblogs.com/gomysql/p/3615897.html一. varchar存储规则:4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节...转载 2018-10-19 15:19:03 · 616 阅读 · 0 评论 -
order by与索引
ORDER BY 通常会有两种实现方法,一个是利用有序索引自动实现,也就是说利用有序索引的有序性就不再另做排序操作了。另一个是把结果选好之后再排序。用有序索引这种,当然是最快的,不过有一些限制条件,来看下面的测试。测试数据:student表有两个字段id ,sid ,id是主键。一共有20W条记录,id从1到200000,sid也是从1到200000的数据。第一种情况 :order by的...转载 2018-11-12 11:11:19 · 266 阅读 · 0 评论 -
数据库表锁,行锁,共享锁,排他锁,悲观锁,乐观锁
一、相关名词|–表级锁(锁定整个表)|–页级锁(锁定一页)|–行级锁(锁定一行)|–共享锁(S锁,MyISAM 叫做读锁)|–排他锁(X锁,MyISAM 叫做写锁)|–悲观锁(抽象性,不真实存在这个锁)|–乐观锁(抽象性,不真实存在这个锁)二、InnoDB与MyISAMMysql 在5.5之前默认使用 MyISAM 存储引擎,之后使用 InnoDB 。查看当前存储引擎:show...转载 2019-01-02 22:44:38 · 1085 阅读 · 0 评论 -
mysql事务
事务:https://blog.csdn.net/w_linux/article/details/79666086事务四个特性:https://blog.csdn.net/longxingzhiwen/article/details/53912475https://blog.csdn.net/qq_39521554/article/details/80240841...转载 2019-01-02 23:04:05 · 101 阅读 · 0 评论 -
varchar(100)可以存多少中文字符
具体还是要看版本的4.0版本以下,varchar(100),指的是100字节,如果存放UTF8汉字时,只能存33个(每个汉字3字节)5.0版本以上,varchar(100),指的是100字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放100个。自己在数据库中建个表测试下可以放多少个汉字。示例:以5.0以上版本为例。新建表:CREATE TABLE varcha...转载 2019-03-06 16:12:19 · 39690 阅读 · 0 评论 -
sql优化1
1)数据库设计方面: a. 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。 b. 应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询转载 2017-03-09 14:55:28 · 223 阅读 · 0 评论 -
利用navicat创建存储过程、触发器和使用游标的简单实例
创建存储过程和触发器 1、建表首先先建两张表(users表和number表),具体设计如下图: 2、存储过程写一个存储过程,往users表中插入数据,创建过程如下: 代码如下:[sql] view plain copyBEGIN #Routine body goes here...转载 2017-03-09 15:31:36 · 752 阅读 · 0 评论 -
MySQL的事务隔离级别
MySQL的事务隔离级别一共有四个:大多数的数据库系统的默认事务隔离级别都是:Read committed而MySQL的默认事务隔离级别是:Repeatable Read我们可以采用下面这种方法查询Mysql中的当前事务隔离级别:然后使用命令:SET session TRANSACTION ISOLATION LEVEL Serializable;(参数可以为:Re转载 2017-03-30 19:05:19 · 277 阅读 · 0 评论 -
MYSQL explain详解
explain显示了MySQL如何使用索引来处理select语句以及连接表。可以帮助选择更好的索引和写出更优化的查询语句。先解析一条sql语句,看出现什么内容EXPLAINSELECTs.uid,s.username,s.name,f.email,f.mobile,f.phone,f.postalcode,f.addressFROM uchome_space ASs,uchome_sp转载 2017-02-20 23:08:13 · 211 阅读 · 0 评论 -
mysql 创建索引和删除索引
索引的创建可以在CREATE TABLE语句中进行,也可以单独用CREATE INDEX或ALTER TABLE来给表增加索引。删除索引可以利用ALTER TABLE或DROP INDEX语句来实现。(1)使用ALTER TABLE语句创建索引。语法如下:alter table table_name add index index_name (column_list) ;alter转载 2017-02-20 23:14:21 · 735 阅读 · 0 评论 -
union all和union的区别
UNION用的比较多union all是直接连接,取到得是所有值,记录可能有重复 union 是取唯一值,记录没有重复 1、UNION 的语法如下: [SQL 语句 1] UNION [SQL 语句 2]2、UNION ALL 的语法如下: [SQL 语句 1] UNION ALL [SQL 语句 2]效率: UN转载 2017-02-23 09:31:29 · 631 阅读 · 0 评论 -
MySQL视图详解
视图即是虚拟表,也称为派生表,因为它们的内容都派生自其它表的查询结果。虽然视图看起来感觉和基本表一样,但是它们不是基本表。基本表的内容是持久的,而视图的内容是在使用过程中动态产生的。——摘自《SQLite权威指南》使用视图的优点: 1.可靠的安全性 2.查询性能提高 3.有效应对灵活性的功能需求 4.轻松应对复杂的查询需求视图的基本使用: 创建: 例如我们本身有一个这样的基本表:转载 2017-02-23 15:04:16 · 386 阅读 · 0 评论 -
Spring事务的隔离级别
Spring事务的隔离级别 1. ISOLATION_DEFAULT: 这是一个PlatfromTransactionManager默认的隔离级别,使用数据库默认的事务隔离级别. 另外四个与JDBC的隔离级别相对应 2. ISOLATION_READ_UNCOMMITTED: 这是事务最低的隔离级别,它充许令外一个事务可以看到这个事务未提交的数据。 这种隔离级别转载 2017-03-20 10:57:31 · 291 阅读 · 0 评论 -
mysql处理字符串的两个绝招:substring_index,concat
最近老是碰到要处理数据库中字符串的处理,发现用来用去也就是这两个函数:1、substring_index(str,delim,count) str:要处理的字符串 delim:分隔符 count:计数例子:str=www.google.com substring_index(str,'.',1)转载 2017-03-22 16:51:39 · 454 阅读 · 0 评论 -
MySQL-distinct字段
distinct必须放在第一个位置。若放到后面是会报错的。 若要指定某个字段的distinct,需要以该字段group by 再加上一个count(distinct name); 参考来源 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值转载 2017-03-29 17:34:39 · 1823 阅读 · 0 评论 -
mysql中join后on、where的区别
* 对于主表的筛选条件应放在where后面* 对于关联表的筛选条件应放到on后面 例如存在两张表A,B表数据如下: 语句一Sql代码select A.ID as AID, B.ID as BID from A left join B on A.ID = B.ID where B.ID<3 语句二转载 2017-03-24 11:25:43 · 693 阅读 · 1 评论 -
MyBatis参数传入集合之foreach动态sql
foreach的主要用在构建in条件中,它可以在SQL语句中进行迭代一个集合。foreach元素的属性主要有item,index,collection,open,separator,close。item表示集合中每一个元素进行迭代时的别名,index指定一个名字,用于表示在迭代过程中,每次迭代到的位置,open表示该语句以什么开始,separator表示在每次进行迭代之间以什么符号作为分隔符,cl转载 2017-03-15 16:01:34 · 268 阅读 · 0 评论 -
sql语句中where与having的区别
Where 是一个约束声明,使用Where约束来自数据库的数据,Where是在结果返回之前起作用的,Where中不能使用聚合函数。Having是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。在查询过程中聚合语句(sum,min,max,avg,count)要比having子句优先执行。而where子句在查询过程中执行优先级高于聚合语句。转载 2017-03-15 17:07:35 · 522 阅读 · 0 评论 -
MySQL 常规排序、自定义排序和按中文拼音字母排序
在实际的SQL编写时,我们有时候需要对条件集合进行排序。下面给出3中比较常用的排序方式,mark一下1.常规排序ASC DESCASC 正序DESC倒叙-- 此处不用多讲2.自定义排序自定义排序是根据自己想要的特定字符串(数字)顺序进行排序。主要是使用函数 FIELD(str,str1,str2,str3,...)转载 2017-04-18 14:57:07 · 467 阅读 · 0 评论 -
MYSQL优化的若干方式
1、选取最适用的字段属性MySQL可以很好的支持大数据量的存取,但是一般说来,数据库中的表越小,在它上面执行的查询也就会越快。因此,在创建表的时候,为了获得更好的性能,我们可以将表中字段的宽度设得尽可能小。例如,在定义邮政编码这个字段时,如果将其设置为CHAR(255),显然给数据库增加了不必要的空间,甚至使用VARCHAR这种类型也是多余的,因为CHAR(6)就可以很好的完成任务了。同样的,如果可转载 2017-04-21 15:01:26 · 240 阅读 · 0 评论 -
mysql索引
SQL索引在数据库优化中占有一个非常大的比例, 一个好的索引的设计,可以让你的效率提高几十甚至几百倍,在这里将带你一步步揭开他的神秘面纱。一、 聚集索引和非聚集索引 1.1 聚集索引和非聚集索引,索引主要目的是提高了SQL 系统的性能,加快数据的查询速度与减少系统的响应时间 下面举两个简单的例子:图书馆的例子:一个图书馆那么多书,怎么管理呢?建立一个字母开头的目录,例如:a开头的书,在第一排,b转载 2017-04-22 23:11:01 · 284 阅读 · 0 评论 -
MySQL数据库引擎
MySQL数 据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL++ API自己做一个引擎。下面介绍几种数据库引擎: ISAM:ISAM是一个定义明确且历经时间考验转载 2017-03-24 19:09:48 · 248 阅读 · 0 评论 -
mysql中DATE_FORMAT()函数
DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。语法DATE_FORMAT(date,format)date 参数是合法的日期。format 规定日期/时间的输出格式。可以使用的格式有:格式描述%a缩写星期名%b缩写月名%c月,数值%D带有英文前缀的月中的天%d月转载 2017-03-01 11:01:03 · 1204 阅读 · 0 评论