单表的SQL语句

MySQL单表操作与查询示例
本文围绕MySQL单表操作展开,介绍了新建表、添加字段、插入数据等基本操作,还阐述了比较运算符的使用,如查询特定名称、价格范围的商品信息。此外,涉及排序、聚合函数、分组和分页等操作,为数据库单表操作提供了详细示例。

新建一个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;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值