02 商品的增删改
需求: 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.sql
3.把SQL直接复制到命令行中执行 注意,如果使用这种方法,必须先设置编辑为gbk的。set names gbk;