需求:
1.
商品表的管理包括:CRUD、搜索、排序、翻页
2.
考虑到SQL注入、XSS
3.
使用JS插件:时间插件、在线编辑器
使用技术:表单自动验证(TP自动验证)
实际操作:
1.
建商品表
a)表都加前缀
b)所有的字段选择最小的数据类型,如id可以使用mediumint比INT节省25%
的空间
c)尽量所有的字段都设置为NOT NULL的,这样能让速度更快
d)为合适的字段(将来用来查询或者排序的字段)建索引
sql语句:
USE php34;
SET NAMES utf8;
# tinyint : 0~255
# smallint : 0~ 65535
# mediumint : 0~1千6百多万
# int : 0~40多亿
# char 、varchar 、 text容量?
# char :0~255个字符
# varchar : 0~65535 字节 看表编码,如果是utf8存2万多汉字 gbk存3万多汉字
# text : 0~65535 字符
CREATE TABLE
IF NOT EXISTS php34_goods
(
id mediumint unsigned not null auto_increment,
goods_name varchar(45) not
null comment '商品名称',
logo varchar(150) not
null default '' comment '商品logo',
sm_logo varchar(150) not
null default '' comment '商品缩略图logo',
price decimal(10,2) not
null default '0.00' comment '商品价格',
goods_desc longtext comment '商品描述',
is_on_sale tinyint unsigned not null default '1' comment '是否上架:1:上架,0:下架',
is_delete tinyint unsigned not null default '0' comment '是否已经删除,1:已经删除 0:未删除',
addtime int unsigned not null comment '添加时间',
primary key (id),
key price(price),
key is_on_sale(is_on_sale),
key is_delete(is_delete),
key addtime(addtime)
)engine=MyISAM
default charset=
utf8;
#说明:当要使用LIKE 查询并以%开头时,不能使用普通索引,只以使用全文索引,如果使用了全文索引:
#SELECT * FROM php34_goods WHERE MATCH goods_name AGAINST 'xxxx';
# 但MYSQL自带的全文索引不支持中文,所以不能使用MYSQL自带的全文索引功能,所以如果要优化只能使用第三方的全文索引## 引擎,如:sphinx,lucence等。
sql导入数据库的几种方式:
1.
使用phpmyadmin直接复制执行SQL
2.在命令行使用source D:/xxxx/db.
sql3.
把SQL直接复制到命令行中执行
注意,如果使用这种方法,必须先设置编辑为gbk的。set names gbk;
转载于:https://www.cnblogs.com/hgj123/p/4811936.html
相关资源:JAVA上百实例源码以及开源项目