truncate table tablename
tablename是表名 清空数据,会重置自增长的下标
delect from tablename
删除所有数据,保留主键原本下标
<?php
//header("Content-type:text/html;charset=utf-8");
PHP使用mysqli函数库操作MYSQL数据库:
操作步骤:
7个步骤:
增删改语句
添加:
insert into tablename(列,...) value(值)前面的列数量和后面的值数量要匹配
修改:
update tablename set 列=值,...[where 修改条件](值要看类型,要对应的类型,最后一个不要写逗号,中括号里参数,可以不写但建议写,不写的话全部都改掉了)
删除:
delect from tablename [where 删除条件]
表有一个主键,主键是自增长的,用delect删除掉项之后,主键还是保留,所以再插入数据之后就不会从1开始,下面这种删除数据方法会从1开始
truncate table tablename//tablename是表名 清空数据,会重置自增长的下标
delect from tablename //删除所有数据,保留主键原本下标
select语句:
select 列 from 表
where 表达式(比较和逻辑运算) in not in between and like % _ select后面没有出现的列可以用
group by (count(*) max(列)求最大 min()求最小 avg()求平均 sum()求和)
having 写法和where写法一样,select后面出现的列having才能用(having针对临时表)
order by 列1(asc/desc), 列2(asc/desc),...
limit start, len, limit 5 == limit 0,5默认从0开始,这个数字是索引
#栏目表
create table category(
`cat_id` smallint(5) unsigned not null auto_increment,
`cat_name` varchar(90) not null default '',
primary key(`cat_id`)
)engine=myisam default charset=utf8;
insert into category
values
(1, '手机类型'),
(2, 'CDMA手机'),
(3, 'GSM手机'),
(4, '3G手机'),
(5, '双模手机'),
(6, '手机配件'),
(7, '充电器'),
(8, '耳机'),
(9, '电池'),
(11, '读卡器和内存卡'),
(12, '充值卡'),
(13, '小灵通/固话充值卡'),
(14, '移动手机充值卡'),
(15, '联通手机充值卡');
多表之间的查询:
连接查询: 左连接(left join) 右连接(right join) 内连接([inner] join)只写一个join就是内连接
无论什么连接都要加 on 连接条件,
select 列 from table1 left join table2 on 连接条件 where ...
左连接:主表写在左边
示例:select goods.goods_name from goods left join category on goods.cat_id=category.cat_id;
让两个表的cat_id相等,才能拿出来
这样写每次都要写表名,很麻烦,所以可以取一个别名G/C,这样写起来容易一些:
select g.goods_name,g.shop_price,c.cat_name from goods g left join category c on g.cat_id=c.cat_id;
goods g 表示给goods取一个别名 g
goods as g 也是给goods取一个别名 g
两者是等价的
所以:
select goods.goods_name, goods.shop_price,category.cat_name from goods g left join category c on goods.cat_id=category.cat_id;
等价于:
select g.goods_name,g.shop_price,c.cat_name from goods g left join category c on g.cat_id=c.cat_id;
?>
分类名称在category表,商品名称、本店价格在goods表
mysql> select g.goods_name,g.shop_price,c.cat_name from goods g left join category c on g.cat_id=c.cat_id;
+-------------------------+------------+-------------------+
| goods_name | shop_price | cat_name |
+-------------------------+------------+-------------------+
| KD876 | 1388.00 | 3G手机 |
| 诺基亚N85原装充电器 | 58.00 | 耳机 |
| 诺基亚原装5800耳机 | 68.00 | 耳机 |
| 索爱原装M2卡读卡器 | 20.00 | 读卡器和内存卡 |
| 盛创KINGMAX内存卡 | 42.00 | 读卡器和内存卡 |
| 诺基亚N85原装立体声耳机 | 100.00 | 耳机 |
| 飞利浦9@9v | 399.00 | GSM手机 |
| 诺基亚E66 | 2298.00 | GSM手机 |
| 索爱C702c | 1328.00 | GSM手机 |
| 索爱C702c | 1300.00 | GSM手机 |
| 摩托罗拉A810 | 983.00 | GSM手机 |
| 诺基亚5320 XpressMusic | 1311.00 | GSM手机 |
| 诺基亚5800XM | 2625.00 | 3G手机 |
| 摩托罗拉A810 | 788.00 | GSM手机 |
| 恒基伟业G101 | 823.33 | CDMA手机 |
| 夏新N7 | 2300.00 | GSM手机 |
| 夏新T5 | 2878.00 | 3G手机 |
| 三星SGH-F258 | 858.00 | GSM手机 |
| 三星BC01 | 280.00 | GSM手机 |
| 金立 A30 | 2000.00 | GSM手机 |
| 多普达Tuch HD | 5999.00 | GSM手机 |
| 诺基亚N96 | 3700.00 | 双模手机 |
| P806 | 2000.00 | GSM手机 |
| 小灵通/固话50元充值卡 | 48.00 | 小灵通/固话充值卡 |
| 小灵通/固话20元充值卡 | 19.00 | 小灵通/固话充值卡 |
| 联通100元充值卡 | 95.00 | 联通手机充值卡 |
| 联通50元充值卡 | 45.00 | 联通手机充值卡 |
| 移动100元充值卡 | 90.00 | 移动手机充值卡 |
| 移动20元充值卡 | 18.00 | 移动手机充值卡 |
| 摩托罗拉E8 | 1337.00 | GSM手机 |
| 诺基亚N85 | 3010.00 | GSM手机 |
+-------------------------+------------+-------------------+
31 rows in set (0.00 sec)
网友评论