数据库中对表的增删改以及单表的查询

数据库中对数据的操作(CRUD)

1.CREATE

INSERT INTO table_name(field1,field2,... ...fieldn)VALUES(value1,value2,... ...valuen)

其中field表示表中的字段名,value是插入的数值,字符串类型要用英文单引号引起来

INSERT INTO table_name1(field11,field12,field13,... ...field1n)
	SELECT(field21,field22,field23,... ...field2n)
		FROM table_name2
			WHERE... ...

上述语句中table_name1 代表要插入数值的表,field11… …表示要插入的字段,table_name2 表示插入的数值从哪个表来。 参数field21… …代表从table_name查询数值的字段。

2.UPDATE

1.更新特定的数据记录

UPDATE table_name SET field1=value1,field2=value2... ...WHERE 条件
eg:UPDATE student SET age=21 WHERE id =2
将student表中的id为2 的数据中字段age更新为21

2.更新所有的数据记录

将WHERE的条件改成满足表中所有数据的条件。

3.DELETE

DELETE FROM table_name 
	WHERE 条件(id=2,id<10)

READ查询,单表数据记录查询

SELECT name,age,selary......FROM table_name
SELECT * FROM table_name 查询所有字段数据

1.避免重复查询DISTINCT

 SELECT DISTINCT 字段1,字段2... ... 
 	FROM table _name
 SELECT DISTINCT job
 	FROM employee

2.数学四则运算查询

SELECT name,salary*12 FROM employee AS ‘年薪’

3.条件数据查询

1.单条件数据查询

SELECT name 
	FROM employee 
		WHERE id=1

2.多条件数据查询

SELECT name
	FROM employee
		WHERE id>5&&id<10
SELECT name
 	FROM employee
 		WHERE id>5& AND id<10
SELECT name,salary
	FROM employee
  		WHERE salary BETWEEN 5000 AND 12000;
  //不在条件范围内
SELECT name,salary
	FROM employee
                WHERE salary NOT BETWEEN 5000 AND 12000;
带IN关键字的查询
SELECT field1, field2... ...
	FROM table_name
		WHERE field IN(value1,value2... ...)
  //等价于
SELECT field1, field2... ...
       FROM table_name
       	        WHERE field=value1 OR value2 OR ... ...
  //不再集合value中的数据
SELECT field1, field2... ...
       FROM table_name
       		WHERE field NOT IN(value1,value2... ...)

同过关键字IN 来判断fied的值是否存在集合(value1,value2… …)中
注意:如果用IN关键字查询的数据中存在NULL,不会对查询有影响,如果用NOT IN 查询时数据中存在NULL 则不会有任何查询结果

模糊查询LIKE
SELECT name
	FROM student
	        //查询姓孟的
		WHERE name LIKE '孟%'
		//查询包含旭字的
		name LIKE '%旭%'
		//查询第二个字是旭的
		name LIKE '_旭%'
单字段排序

升序

SELECR *
	FROM employee 
		ORDER BY selary ASC;
//等价于,因为默认是升序
SELECR *
	FROM employee 
		ORDER BY selary ;

降序

SELECR *
	FROM employee 
		ORDER BY selary DESC;

MySQL中如果数据为NULL 排序为最小值

多字段排序
SELECR *
	FROM employee 
		ORDER BY selary ASC,
			id DESC;
ASC可以省略
分页查询LIMIT
SELECR *
	FROM employee 
		ORDER BY selary ASC
			LIMIT 4,5;

limit n-1,m:从第n页开始,每页显示5条数据

3.聚合函数

  1. COUNT()统计个数

    SELECT COUNT(id)
    	FROM student;
    
  2. AVG()计算平均值

    SELECT AVG(selary)
    	FROM employee;
    
  3. SUM()求和

     SLEECT SUM(selary)
     	FROM employee
    
  4. MAX(),MIN()最大值最小
    注意:聚合函数中,如果操作的数据没有值,则COUNT()显示0其他显示NULL

4.GROUP BY分组查询

SELECT *
	FROM student
		GTOUP BY address;

5.HAVING分组以后的条件

SELECT *
	FROM employee
		GROUP BY  deptom
			HAVING AVG(selary)<3888
    having 后面可以跟聚合函数 where不可以

·

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

河西彭于晏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值