MySQL学习笔记2

MySQL学习笔记2

标签(空格分隔): 笔记 MySQL


sql命令

新增表数据

INSERT INTO table_name [(field1,field2...fieldn)] VALUES (value1,value2...valuen);
#属性名称可以省略,但不建议
#若主键重复,则会报错:ERROR 1062 (23000): Duplicate entry '1' for key 'PRIMARY'

删除表数据

DELETE FROM table_name WHERE CONDITION;
#不加删除条件则会删除整张数据表!
#若未找到数据表则会报错:ERROR 1146 (42S02): Table 'test_day1.commonditytype' doesn't exist
#若条件所指的主键不存在,不会报错,但不会影响表

改变表数据

UPDATE table_name SET field1=value1,field2=value2,...fieldn=valuen WHERE CONDITION;
#同样注意,不加修改条件则会改变整张表的数据!

查询表数据

SELECT * from table_name;//查询表中所有数据
SELECT field1,field2,...,field3 from table_name;//查询表中特定的数据
SELECT DISTINCT field1 AS name1,field2 AS name2, ... FROM table_name;//DISTINC:去除重复 AS:起名
SELECT fiedld1+field2 from table_name;//查询时可以使用四则运算
#注意,若有一个值为NULL那么四则运算结果也为NULL

如果distinct修饰多个属性,则判断时考虑多个属性

带有限制条件的select语句

使用限制条件,数据库可以包含如下功能:
• 1.带关系运算符和逻辑运算符的条件数据查询;
• 2.带BETWEEN AND关键字的条件查询语句;
• 3.带IS NULL关键字的条件查询语句;
• 4.带IN关键字的条件查询语句;
• 5.带LIKE关键字的条件查询语句;
• 6.带关系运算符和逻辑运算符的条件数据查询;

算数运算符描述逻辑运算符描述
>大于AND(&&)逻辑与
<小于OR(
=等于XOR逻辑异或
!=(<>)不等于NOT(!)逻辑非
<=小于等于
(>=)大于等于

示例

select * from commodity where c_inprice > 50;
select c_name,c_inprice from commodity where c_inprice between 10 and 100 and c_type = 2;
select c_name,c_inprice from commodity where (c_inprice not between 10 and 100) and c_type = 2;
#between包括两边的值,而not between不包括两边的值
select * from commodity where c_outprice is null;
select * from commodity where c_type in (1,2);
select * from commodity where c_name like '变形金刚%';

AND关键字的使用

当你要同时给出两个或以上的条件时,就可以使用AND关键字连接查询条件了
示例

select field1 from tabel_name where field2='value2' and field3>value3;

BETWEEN关键字的使用

需要查询取值范围区间请使用BETWEEN AND
示例

SELECT field1 FROM table_name WHERE field2 [not] BETWEEN valuea AND valueb;

IS NULL关键字的使用

判断值是否为空
示例

SELECT field1 FROM table_name WHERE field2 IS [not] NULL;

IN关键字的使用

IN关键字可以用来匹配括号内任一值得查询的条件
示例

SELECT field1 FROM table_name WHERE field2 [not] IN (value1,value2...valuen);

LIKE关键字的使用

LIKE要和通配符一起用,不然没有用通配符的LIKE效果等同于
“=” ,常用的通配符有“_” 和“%” ;
前者是匹配单个字符的意思,后者是匹配任意字符
示例

select name from table where name like '%小米%';

ORDER BY关键字的使用

后面跟ASC(升序,可以默认不写)DESC(降序)
示例

SELECT field1,field2,... FROM table_name
WHERE CONDITION
ORDER BY fieldn [ASC|DESC];
//每个带关键字的语句书写时占一行更利于编写和查看

LIMIT关键字的使用

选取一定范围的值
示例

select * from table limit 2; //只输出前2行;
select * from table limit 0,5;//从第0行开始,输出5行;
select * from table order by sal limit 1;//按照sal列升序排序,只输出第一行,那么就得到sal最小的那条数据!

统计函数

-COUNT()函数:统计记录数;
-AVG()函数:求平均值;
-SUM()函数:求和;
-MAX()函数:求最大值;
-MIN()函数:求最小数;

其中, COUNT()函数可以通过以下两种方法来实现统计:
count(*)使用方式,实现对表中记录进行统计,不管是否包含 NULL还是NOT NULL
count(field)使用方法对指定字段进行统计,将忽略NULL值!
还有,如果表中无数据, count()函数返回的是0,其它函数返回 null;可以用来判断登陆是否成功

示例

select c_type,count(c_inprice),avg(c_id),max(c_outprice) from commodity;

###GROUP BY关键字
实现分组功能,一般和统计函数一起出现

示例

select count(*) from table group by type; 

若要对分组查询结构进行条件限制查询,不能使用WHERE关键字,需要使用HAVING关键字

示例

select avg(c_inprice) ,c_type from commodity group by c_type having avg(c_inprice) >1;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值