关于MySQL表设计应该注意的问题
关于MySQL表设计应该注意的问题
转自 http://blog.chinaunix.net/u/29134/showart_1316574.html
1、慎重选择表名。
有两种选择:
按照多数开发语言的命名规则。比如(myCustomer)。
按照多数开源思想命名规则。比如(my_customer)。
按照咱们中国人的思想。比如(我的客户)。
第一种有个缺点,很容易忘掉大写的字母。
第二种则比较好,每个WORD间用下划线连接,避免遗忘。
第三种建议不要用,虽然很好记。不觉得解析这个表的时候还需要编码转化吗?我个人理解,大家可以补充。
2.关于编码的设定。
A. GBK/GB2312.(适用于纯中文存储)。
B. UTF8.(适用于中英文混合存储)。
C. LATIN1。(适用于纯英文存储)。
D. 其他的。
3.关于表引擎的选择。
A. MYISAM.(很多人说她的表级锁定会带来好多问题,其实只要设计好对应的表以及写好对应的SQL查询就没有那么大的问题。)
B. INNODB. (如果要用到事务,选择她不会错。至于多数人讲的MASTER/SLAVE结构上用INNODB在MASTER的选择是否正确,就要看你怎么用了。不能一味的疯狂使用INNODB。除非你想要确保非常高可用性,
)
C. CSV. (以前我写过文章,关于这个引擎。个人觉得最主要的是来存储少量数据以及从EXCEL到MYSQL的转换方面会很有用。当然只要涉及到规则数据的导入,她就可以办到。)
D. BLACKHOLE. (觉得最完美的用处在于MASETR/SLAVE上面,并且MASTER是一个临时的专门负责写的机器。不过缺点也很多,会与MYISAM或者INNODB或者其他的引擎有所冲突,这点自己要做个权衡)。
E.  
相关文档:
mysql> desc aa;
+-------+---------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------+---------+------+-----+---------+-------+
| id | int(11) | YES | | NULL | &n ......
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test &n ......
一、创建用户的命令
mysql> create user 'username'@'localhost' identified by 'password';
Query OK, 0 rows affected (0.06 sec)
二、给新加用户授予权限
mysql> grant all privileges on test.* to 'username'@'localhost';
Query OK, 0 rows affected (0.00 sec)
说明:这条命令授予 username 对数据库 te ......
select
count(*) as mcount ,
left(create_time,10) as ptime ,
count(if(receive_msg is null,id,null)) as nullcount ,
count(if(receive_msg = '1',receive_msg,null)) as apfcount ,
count(if(receive_msg = '2',receive_msg,null)) as dttcount ,
count(if(receive_msg = '3',receive_ms ......
解决方法:
1。 改表法。
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p vmware mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mys ......