//操作数据表中的记录 create table user2( id smallint unsigned primary key AUTO_INCREMENT, username varchar(20) not null, password varchar(20) not null, age tinyint not null default 10, sex boolean ) --insert-- insert user2 values(null,‘孙千‘,‘123‘,25,1);//自增序列可以用null,或default代替 insert user2 values(default,"孙千","123",25,1); insert user2 set username="lisi",password="456";//insert set插入语法 insert test (username) select username from user2 order by id desc limit 2;//查询插入 --update-- update user2 set age=age+5;//没有条件将更新所有的列 update user2 set age=age-id, sex=0; update user2 set age=age+10 where id%2=0; --delete-- delete from user2 where id=2; --select-- select version(); select now(); --子句-- where 条件子句 后边可以跟列、函数、算术逻辑运算 group by 分组子句 后边跟列名、列位置 having 也是条件子句的一种,主要解决where无法与聚合函数一起使用的问题 order by 排序子句,asc升序,desc降序排序 limit 2 数量限制、查询数量限制 --子查询------------------------------------------------------------------------------------------- CREATE TABLE IF NOT EXISTS tdb_goods( goods_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, goods_name VARCHAR(150) NOT NULL, goods_cate VARCHAR(40) NOT NULL, brand_name VARCHAR(40) NOT NULL, goods_price DECIMAL(15,3) UNSIGNED NOT NULL DEFAULT 0, is_show BOOLEAN NOT NULL DEFAULT 1, is_saleoff BOOLEAN NOT NULL DEFAULT 0 ); ---由比较运算符印发的子查询--- select round(avg(goods_price),2) from tdb_goods; 查询某列平均值 select goods_id,goods_name,goods_price from tdb_goods where goods_price > (select round(avg(goods_price),2) from tdb_goods);//查询大于平均值的信息 //对于返回多列的子查询,可以加 any、some、all修饰符 select goods_id,goods_name,goods_price from tdb_goods where goods_price > any (select goods_price from tdb_goods where goods_cate="超级本"); ---此外,还有由in(not in)、exist(not exist)引发的子查询 ----多表查询--- CREATE TABLE IF NOT EXISTS tdb_goods_cates( cate_id SMALLINT UNSIGNED PRIMARY KEY AUTO_INCREMENT, cate_name VARCHAR(40) ); insert tdb_goods_cate (cate_name) select goods_cate from tdb_goods group by goods_cate;//查询插入 update tdb_goods inner join tdb_goods_cates on goods_cate=cate_name set goods_cate=cate_id;//参照类别表更新商品表 create table tdb_brand( brand_id SMALLINT unsigned primary KEY auto_increment, brand_name varchar(40) not null )select brand_name from tdb_goods group by brand_name;//新建表时并赋值 update tdb_goods as g inner join tdb_brand as b on g.brand_name=b.brand_name set g.brand_name=b.brand_id;//更新商品名信息 alter table tdb_goods change goods_cate cate_id smallint unsigned not null, change brand_name brand_id smallint unsigned not null ;//修改表结构
时间: 2024-10-12 18:15:04