需求: 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;