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;
相關文章
相關標籤/搜索