MySQL

建表注意事项

库名、表名、字段名必须使用小写字母,“_”分割。
库名、表名、字段名必须不超过12个字符。
库名、表名、字段名见名知意,建议使用名词而不是动词。
建议使用InnoDB存储引擎。
存储精确浮点数必须使用DECIMAL替代FLOAT和DOUBLE。
建议使用UNSIGNED存储非负数值。
整型定义中不需要添加长度,Mysql会自动分配长度,比如INT默认是11,TINYINT默认是4。
尽量使用短数据类型,比如取值范围为0-80时,使用TINYINT UNSIGNED。
不建议使用ENUM类型,使用TINYINT来代替。
尽可能不使用TEXT、BLOB类型。
VARCHAR(N),N表示的是字符数不是字节数,比如VARCHAR(255),可以最大可存储255个汉字,需要根据实际的宽度来选择N。
VARCHAR(N),N尽可能小,因为MySQL一个表中所有的VARCHAR字段最大长度是65535个字节,进行排序和创建临时表一类的内存操作时,会使用N的长度申请内存。
表字符集选择UTF8。
存储日期使用DATE类型。
存储时间(精确到秒)建议使用TIMESTAMP类型,因为TIMESTAMP使用4字节,DATETIME使用8个字节。
建议字段定义为NOT NULL不为空。
NOT NULL字段需设置默认值,如数值类型default设置为0。
禁止在数据库中使用VARBINARY、BLOB存储图片、文件等。
单张表的索引数量控制在5个以内。
不建议使用%前缀模糊查询,例如LIKE “%antto”。

常用命令

# 创建用户
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON * . * TO 'username'@'localhost';

#重命名
mysql -u root -p -e "create database my_new_database"
mysqldump -u root -p original_database | mysql -u root -p my_new_database
mysql -u root -p -e "drop database original_database"

数据库导入:

#方法1

mysql -u root -p123
mysql>use test;
mysql> source /path/test.sql

#方法2
mysql -u root -p123 test < /path/test.sql

导出

mysqldump -h localhost -u root -p mydb > /path/test.sql

652 total views, 6 views today

Revisions

No comments yet.

发表评论