新建一个test的表
create table test (
tid INT PRIMARY KEY, –主键pri.. KEY
tname VARCHAR(20)
);
create table test_2 (
tid INT PRIMARY KEY,
tname VARCHAR(100)
);
查看数据库里面的表
show tables;
添加字段
– insert into 表 (字段1,字段2,字段3..) values (值1,值2,值3..);
insert into test_2 (tid,tname) VALUES (‘1’,’赖小七’);
insert into test_2 (tid,tname) VALUES (‘2’,’小九九’);
– 查
select * from product;
– 改
– 表名 servlet字段= 86 id改为1
– UPDATE STUDENT SET SERVLET = 86 WHERE ID =1;
– 多个条件 ser = 65 jsp= 73 的改为 id 2
– UPDATE STUDENT SET SERVLET = 65,JSP = 73 WHERE ID = 2;
– 删
– 删除表(所以数据)
– DELETE FROM 表名;
– delete FROM test;
– 带条件删除
– DELETE FROM 表名 WHERE 条件 = 2;
– DELETE FROM test WHERE tid = 1;
创建商品表:
create table product(
pid int primary key, – id 设置为主键 INT 类型
pname varchar(20), – pname商品名 varchar类型
price double, – 价格 double类型
category_id varchar(32) – 分类id
);
插入数据
INSERT INTO product(pid,pname,price,category_id) VALUES(1,’联想’,5000,’c001’);
INSERT INTO product(pid,pname,price,category_id) VALUES(2,’戴尔’,3000,’c001’);
INSERT INTO product(pid,pname,price,category_id) VALUES(3,’苹果’,5000,’c001’);
INSERT INTO product(pid,pname,price,category_id) VALUES(4,’耐克’,800,’c002’);
INSERT INTO product(pid,pname,price,category_id) VALUES(5,’真维斯’,200,’c002’);
INSERT INTO product(pid,pname,price,category_id) VALUES(6,’花花公子’,440,’c002’);
INSERT INTO product(pid,pname,price,category_id) VALUES(7,’劲霸’,2000,’c002’);
INSERT INTO product(pid,pname,price,category_id) VALUES(8,’香奈儿’,800,’c003’);
INSERT INTO product(pid,pname,price,category_id) VALUES(9,’相宜本草’,200,’c003’);
INSERT INTO product(pid,pname,price,category_id) VALUES(10,’面霸’,5,’c003’);
INSERT INTO product(pid,pname,price,category_id) VALUES(11,’阿胶’,56,’c004’);
INSERT INTO product(pid,pname,price,category_id) VALUES(12,’香飘飘奶茶’,1,’c005’);
INSERT INTO product(pid,pname,price,category_id) VALUES(13,’海澜之家’,1,’c002’);
– 查询所有的商品.
select * from product;
– 查询商品名和商品价格
– select 条件,条件 FROM 表名;
SELECT pname,price FROM product;
– 别名查询.使用的关键字是as(as可以省略的).
– 表别名: select * from product as p;
– 列别名:select pname as pn from product;
select * from product as p;
– 去掉重复值查询 关键字 DISTINCT;在数据少的情况下使用可以 数据量大的情况下使用会很慢
– select 关键字 条件(名字,价格之类的) from 表名;
SELECT DISTINCT price from product;
– 查询结果是表达式(运算查询):将所有商品的价格+10元进行显示.
select pname,price+10 from product;
– -10显示 数据库原来的内容并不会发生变化 只是在显示的时候-10
SELECT pname,price-10 from product;
比较运算符
– > < <= >= = <> != 大于、小于、大于(小于)等于、不等于
– BETWEEN …AND… 显示在某一区间的值(含头含尾)
– IN(set) 显示在in列表中的值,例:in(100,200)
– LIKE ‘张%’ 模糊查询,Like语句中,%代表零个或多个任意字符,_代表一个字符,例如:first_name like ‘_a%’; a前面一个字 后面可以是多个也可以没有
– 逻辑运算符 and 多个条件同时成立
– or 多个条件任一成立
– not 不成立,例:where not(salary>100);
查询商品名称为“联想”的商品所有信息:
– SELECT * FROM 表名 WHERE 商品名 = “联想”;
SELECT * FROM product WHERE pname = ‘联想’;
查询价格为5000商品
SELECT * FROM product where price = ‘5000’;
查询价格不是800的所有商品 != <> NOT
select * FROM product where price != ‘5000’;
select * FROM product where price <> ‘5000’;
select * from product where NOT(price = 5000);
查询商品价格大于200元的所有商品信息 >
SELECT * FROM product WHERE price > 200;
查询商品价格在500到1000之间所有商品 AND BETWEEN …AND…(在什么什么之间 包含条件 )
select * from product where price >=500 AND price <=1000;
– BETWEEN …AND…(在什么什么之间 )
select * from product where price BETWEEN 500 AND 1000;
查询含有’想’字的所有商品 LIKE 模糊搜索
select * from product where pname LIKE ‘%想%’;
查询以’香’开头的所有商品
SELECT * FROM product WHERE pname LIKE ‘香%’;
查询第二个字为’想’的所有商品 算是一个站位符 一个就表示在前面占一个位置 _ _ 本 这样就表示 你是第三位
SELECT * FROM product WHERE pname like ‘__本%’;
商品没有分类的商品 IS NULL (查询表中有没有带null值的数据(自己理解))
SELECT * FROM product WHERE category_id IS NULL
查询有分类的商品 IS NOT NULL 查询表中不是null的值
SELECT * FROM product WHERE category_id IS NOT NULL
排序
– SELECT * FROM 表名 ORDER BY 排序字段ASC|DESC; ASC(升序默认) DESC(降序)
– 使用价格排序(降序)
SELECT * FROM product ORDER BY price DESC;
– 显示商品的价格(去重复),并排序(降序)
SELECT DISTINCT price FROM product ORDER BY price DESC;
聚合函数(例)
– count:统计指定列不为NULL的记录行数
– 查询商品的总条数
SELECT COUNT(*) FROM product;
– 查询价格大于1000商品的总条数
SELECT COUNT(*) FROM product WHERE price > 1000;
– sum:计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
– 查询分类为’c001’的所有商品的价格总和
SELECT SUM(price) FROM product WHERE category_id = ‘c001’;
– avg:计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;
– 查询分类为’c002’所有商品的平均价格
SELECT AVG(price) FROM product WHERE category_id = ‘c002’;
– max:计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
– min:计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
– 查询商品的最大价格和最小价格
SELECT MAX(price),MIN(price) FROM product;
分组(GROUP BY)
– SELECT 字段1,字段2… FROM 表名GROUP BY分组字段 HAVING 分组条件;
– 统计各个分类商品的个数
SELECT category_id,COUNT(*) FROM product GROUP BY category_id;
– 统计各个分类商品的个数,且只显示个数大于2的信息
SELECT category_id,COUNT() FROM product GROUP BY category_id HAVING COUNT() > 2;
分页(LIMIT)
– SELECT 字段1,字段2… FROM 表名 LIMIT M,N
– M: 整数,表示从第几条索引开始,计算方式 (当前页-1)*每页显示条数
– N: 整数,表示查询多少条数据
SELECT * FROM product ;
– 查两条名字
SELECT pname FROM product LIMIT 2;
SELECT pname FROM product LIMIT 3,2;