goods购物表MySQL的代码_第一节:数据库及表

本教程介绍了如何在MySQL中创建名为cart的数据库,并在其中建立goods和order两个表。详细讲解了创建数据库和goods表的命令,包括字段定义和数据类型。还提供了插入示例数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在Mysql中建立一个数据库cart,在库中建立两个表,分别是:goods(商品表),order(订单表)。

本教程用命令创建数据库,用命令创建数据库习惯了,比用PhpMyAdmin快,因为用phpMyAdmin每项设置都要点鼠标选择。

点右下角的wamp/MySQL/MySql控制台,输入密码,进入命令执行界面,

输入:

~~~

CREATE DATABASE cart DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

~~~

回车执行,即建成一个cart数据库,笔者测试过代码。

/*创建数据库命令格式*/

CREATE DATABASE 数据库名 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

使用utf8格式,可以让数据库支持多国语言。

接着建goods表,因为是学习,所以将goods表建的简单一些,主要包含以下几个字段:id(编号)、name(名称)、brand(品牌)、price(价格)、count(数量)等。

下面是E-R图:

![](https://box.kancloud.cn/7edf064934baed99fef182a3f3b49ed0_377x197.gif)

创建goods表命令行如下:

~~~

CREATE TABLE IF NOT EXISTS goods(

id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

name VARCHAR(50) NOT NULL DEFAULT '',

brand VARCHAR(50) NOT NULL DEFAULT '',

price DECIMAL(10,2) UNSIGNED NOT NULL DEFAULT '0.00',

count INT(20) UNSIGNED NOT NULL DEFAULT '0'

)ENGINE=MyISAM DEFAULT CHARSET=utf8;

~~~

代码测试过,成功建表。

解析:

创建表的格式:

CREATE TABLE [ IF NOT EXISTS] 表名(字段名 属性);

注:最后一行,没有逗号(,),切记,否则命令建表时出错。

id 行

INT表示整形,长度为10;

UNSIGNED表示将数字类型无符号化,只保存正值;

NOT NULL表示不为空。

AUTO_INCREMENT表示自动增长型,每次插入数据,自动加1,非常方便。

PRIMARY KEY表示设置此字段为关键字。

* * * * *

name和brand行

VARCHAR ,字符型,长度50.

NO NULL,不能为空值。当插入新数据时,如果字段没有值,系统自动写入空字符串。

DEFAULT '',表示默认值为空字符串。

* * * * *

price行

DECIMAL,定点数。

DECIMAL(M,D),其中M表示十进制数字总的个数,D表示小数点后面数字的位数。

DECIMAL(10,2),总长度为10,小数点后保留2位。

UNSIGNED表示只保存正值;

NOT NULL表示不为空。

DEFAULT '0.00'

* * * * *

count行

INT表示整形,长度为10;

UNSIGNED表示只保存正值;

NOT NULL表示不为空。

DEFAULT '0'表示默认值为0.

注意:

count行是最后一行,后边不能加逗号“,”,否则出错。

* * * * *

ENGINE=MyISAM DEFAULT CHARSET=utf8;

ENGINE=MyISAM表示数据表引擎为MyISAM,这个必须要加上,否则会用引擎InnoDB。笔者观察,ecshop用的是MyISAM,所以建议用MyISAM.

DEFAULT CHARSET默认字符集为utf8;

* * * * *

插入四行数据,便于后边测试。

插入数据的命令格式:

INSERT INTO 表名(字段1,字段2,字段3,...) VALUES(数据1,数据2,数据3,...);

插入值为字符时,加引号,整数或小数点等,则直接写。

在记事本中写出以下代码,完成后,选中,复制。

~~~

INSERT INTO goods(name,brand,price,count) VALUES('商用台式机LN001','联想',5888.00,100);

INSERT INTO goods(name,brand,price,count) VALUES('数码相机CM058','三星',3699.00,50);

INSERT INTO goods(name,brand,price,count) VALUES('笔记本TN001','戴尔',7788.50,100);

INSERT INTO goods(name,brand,price,count) VALUES('昂达8寸平板','昂达',399.00,500);

~~~

用命令插入测试数据,比较快。进入mysql控制台,输入账号密码,

mysql>show databases; //显示数据库.

mysql>use cart; //使用cart库.

mysql>show tables; //显示cart库的表.

mysql>(点鼠标右键,选择弹出菜单“粘贴")回车,执行。

成功后,会提示:Query OK...

*注:细心朋友可能发现,插入字段中没有id,这是因为id有”AUTO_INCREMENT"属性,会自动序号,自动增加。*

* * * * *

建订单表(orders)

字段:ddnumber(订单号)、 cname(姓名)、address(地址)、mtel(手机号)、spc(session_goodsid)、slc(session_goodsnum)、yprice(运费)、totalprice(总价)、createtime(下单时间)

E-R图:

![](https://box.kancloud.cn/a82ac579d90f08925b9249464eb096ac_364x290.gif)

* * * * *

~~~

CREATE TABLE IF NOT EXISTS orders(

id INT(10) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY,

cname VARCHAR(50) NOT NULL DEFAULT '',

address VARCHAR(50) NOT NULL DEFAULT '',

mtel VARCHAR(50) NOT NULL DEFAULT '',

spc INT(10) UNSIGNED NOT NULL DEFAULT '0',

slc INT(10) UNSIGNED NOT NULL DEFAULT '0',

yprice DECIMAL(10,2) UNSIGNED NOT NULL DEFAULT '0.00',

totalprice DECIMAL(10,2) UNSIGNED NOT NULL DEFAULT '0.00',

ddnumber VARCHAR(50) NOT NULL DEFAULT '',

createtime DATETIME NOT NULL

)ENGINE=MyISAM DEFAULT CHARSET=utf8;

~~~

各行注释参考goods表,不再赘述。

* * * * *

## 天行健,君子当自强不息!

* * * * *

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值