SQL(未明学院)补充学习内容

(一)查询

单表查询:

  1. concat ()拼接几个字段成一个字段

select concat(字段1,字段2) as 别名 from 表名

  1. convert(字段 using gdk)按照文本格式去进行比较排序

  1. 补充排序函数的知识点:order by字段(字段可以用位置来代替 比如第几列就写几)
  2. ifnull(expr1,expr2)如果expr为空,就用expr2定个数值给填补显示

SELECT * FROM t_ds d WHERE IFNULL(d.c_flag,‘0’) = ‘1’

作为where条件时,运行顺序是,查询d.c_flag='1’的数据,如果数据d.c_flag是null,那么d.c_flag的值当作’0’处理

  1. 空值过滤 where 列 is null ;非空值过滤 where 列 is not null
  2. 聚合函数:
    1. Count(*)/(1) 计算表中行的数目(计算空行完整的列); count(col)只作用于非空行; count(distinct col) 对行去重计数—也可以说计算类值
    2. Sum(col)/avg(col)——自动过滤null值
    3. Max(col)/min(col)——distinct无意义

多表查询:

1、内部联结(inner join):联结前提——必须有共同列 ; 联结结构——所有表的所有列、共同列重复的行 ; 创建联结规则——列出所有表、定义所有表的关系。

2、union 去重联结多张表 union all不去重联结多张表

(二)插入更新删除操作

数据插入:  (对表进行插入删除更新操作时,推荐先用select查看表内容或者要进行修改的行内容)

Insert into 表名(完整行)/插入字段名(部分/整体) values(“”,“”,“”,“”)插入值

Tip:(1)为了避免表结构发生变化,推荐使用第二种带字段名的方式,文本型要使用双引号或者单引号

(2)values 插入值可以替换为select 语句

    1. 可以插入多行数据(利用通配符)

数据更新——update

Update 表名 set 要更新的字段=更新后的值 (where筛选条件)

Tip:表关联更新,把另一个表中的行信息更新到该表中(不用On,用where也行)

数据删除——delete

Delete from 表名 where 过滤条件    /   清空表:truncate table 表名

(删除的是表中的数据,而不是表;假定删除表中所有的行,但表结构还是相当于空表

(三)对数据表本身的操作(表更改不能撤销 建议做完整备份 因为是对表的结构进行更改的)

创建表—— Create table 表名(字段名 数据类型 属性字段名 数据类型 属性……)

Tip:表名唯一、字段名唯一

属性:not null 、default 设置默认值

Eg:

复制表——create table 表名 as 目标二维表

          Select 字段 into 新表 from 目标表(标准sql写法)

更新表——alter table 表名          

                            add 字段名 数据类型 属性(增加字段)

                          drop 字段名 (删除字段)

                                        drop column 字段名(删除)

                         modify column 字段名 数据类型 属性(修改)

删除表——drop table 表名

重命名——rename table 表名1 to 新表名1表名2 to 新表名2

(四)虚拟“表”——(视图)

创建一个视图—— create view 视图名 as 目标二维表-可转换为(select from语句) (视图名唯一,字段名唯一)

删除视图—— drop view 视图名

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值