Linux | c&cpp | Email | github | QQ群:425043908 关注本站

itarticle.cc

01mysql获取库的所有表名和字段名

mysql获取某个数据库的所有表名

select TABLE_NAME from information_schema.tables where TABLE_SCHEMA="your database name"


mysql获取某个表的所有字段名

select COLUMN_NAME from information_schema.COLUMNS where table_name = 'your_table_name';

02mysql的latin1字符集支持所有字符集

Latin1是ISO-8859-1的别名,如果数据库内表的字符集是latin1,那么默认情况下中文也可被支持!

· latin1覆盖了所有单字节的值,任何其他的码流都可以被看做latin1

· 把一个gbk编码的串写入latin1的表,不会有任何问题,保存的是原封不动的字节流

· 从表中读取已写入的串也不会有任何问题,且读出的字节流就和当初写入的完全一致

03mysql SUM聚合运算的返回值为MYSQL_TYPE_NEWDECIMAL

mysql SUM聚合运算的返回值为MYSQL_TYPE_NEWDECIMAL,如果是C++处理返回值时,可能对类型会有影响,使用SUM函数时需要使用 CAST函数对结果类型作下转义,转义为Int或者doule,然后C++就可以处理了

04Redis中5种数据结构的使用场景介绍

原来看过 redisbook 这本书,对 redis 的基本功能都已经熟悉了,从上周开始看 redis 的源码。目前目标是吃透 redis 的数据结构。我们都知道,在 redis 中一共有5种数据结构,那每种数据结构的使用场景都是什么呢?

String——字符串

Hash——字典

List——列表

Set——集合

Sorted Set——有序集合

05Redis源码分析(11大优秀设计)

坚持了一个月左右的时间,从最开始的对Redis的代码做分类,从struct结构体分析开始,到最后分析main主程序结束,中间,各大模块的代码逐个击破,学习,总之,收获了非常多,好久没有这么久的耐心把一个框架学透,学习一个框架,会用那只是小小的一部分,能把背后的原理吃透才是真功夫。在这个学习的最后阶段,是时候要来点干货了,我把这1个多月来的一些总结的一些比较好的代码,和设计思想总结出来了,原本想凑成10大精彩设计的,可后来感觉每个点都挺精彩的,还是做成了11大优秀设计,包证让你打开研究,这里无关语言,重在一种编程的思想和设计,希望大家能好好领会。

06Mysql使用和优化

游戏有大量的数据需要存储, 最早的服务器并没有选择数据库这种技术来做存档(那时候商业数据库太贵, 开源数据库太垃圾), 不过现在的游戏 大都用各种数据库在存储玩家的数据

数据大致分为游戏数据和日志数据, 前者主要和服务器交互, 后者主要用来做挖掘或者数据分析.

07MySQL大小写敏感问题和命名规范

以下是MySQL详细的大小写区分规则:

在Linux下:

1、数据库名与表名是严格区分大小写的;

2、表的别名是严格区分大小写的;

3、列名与列的别名在所有的情况下均是忽略大小写的;

4、变量名也是严格区分大小写的;

在Windows下:

全部不区分大小写

08一看就懂的数据库范式介绍(1NF,2NF,3NF,BC NF,4NF,5NF)

第一范式(1NF):属性不可分

(1NF是对属性的原子性约束,要求属性具有原子性,不可再分解)

第二范式(2NF):符合1NF,并且非主属性完全依赖于码。

(2NF是对记录的惟一性约束,要求记录有惟一标识,更通俗说有主键ID,其它属性依赖于主键)

第三范式(3NF):符合2NF,并且,消除传递依赖。

(3NF是对字段冗余性的约束,即任何字段不能由其他字段派生出来,它要求字段没有冗余)

09utf8_general_ci 与 utf8_general_cs 和 utf8_bin的区别

对于 SELECT * FROM table WHERE txt = 'a' ,在utf8_bin中你就找不到 txt = 'A' 的那一行, 而在 utf8_general_ci 则可以.utf8_general_ci 不区分大小写,这个你在注册用户名和邮箱的时候就要使用。utf8_general_cs 区分大小写,如果用户名和邮箱用这个 就会照成不良后果. utf8_bin:字符串每个字符串用二进制数据编译存储。 区分大小写,而且可以存二进制的内容

10mysql字符编码问题latin1到utf8

由于mysql的client和server之间的编码不致,会导致模糊查询的时候查询失败,下面方法主要解决这个问题: set names 'utf8'; SELECT CONVERT(CONVERT(CONVERT(LOWER(consumption_name) USING latin1) USING binary) USING utf8),consumption FROM dimen_table; 这种方法基本是万能的

11mysql 基本操作

mysql 一些基本操作举例,方便查询

12Mysql数据表优化

myisam读的效果好,写的效率差,这和它数据存储格式,索引的指针和锁的策略有关,innodb一般都是行锁,这个一般指的是sql用到索引的时候,行锁是加在索引上的,不是加在数据记录上的,如果sql没有用到索引,仍然会锁定表

我的名片

网名:丰果 | Ranger

职业:游戏开发

现居:上海市

Email:86668082@qq.com




站点信息

  • 建站时间:2016-04-01
  • 文章统计:728条
  • 文章评论:82条
  • QQ群二维码:扫描二维码,互相交流