一、常用sql
1.分页查询,limit 起始行,查询行数
2.排序:order by 字段 asc/desc
asc:升序
desc:降序
SELECT *from metadata t ORDER BY t.id ASC; 使用id排序,升序
3.分组:group by 字段
4.查询平均成绩大于60分的学生的学号和平均成绩:
select sno,avg(score) from sc group by sno having avg(score)>60
5.插入:insert into table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );
6.更新:update table_name set name ='dd',age=20
7. like SELECT *from metadata t where name like '%细表'
8.DISTINCT返回唯一不同的值,count 计数
SELECT count(DISTINCT(m.tenant_id)) from metadata m
9.regexp 正则表达式
以“施工”为开头的
-- SELECT *from metadata t where t.name REGEXP '^施工';
以“主表”为结尾的
-- SELECT *from metadata t where t.name REGEXP '主表$';
包含“投标”
-- SELECT *from metadata t where t.name REGEXP '投标';
以“投标”为开头或以“主表”为结尾
-- SELECT *from metadata t where t.name REGEXP '^投标|主表$';
二、其他
1.sql语句应该考虑哪些安全性?
(1)防止sql注入,对特殊字符进行转义,过滤或者使用预编译的sql语句绑定变量。
(2)最小权限原则,特别是不要用root账户,为不同的类型的动作或者组建使用不同的账户。
(3)当sql运行出错时,不要把数据库返回的错误信息全部显示给用户,以防止泄漏服务器和数据库相关信息
2.内连接、外连接
inner join
left join ,right join, 全连接 full join
3.锁
乐观锁:自己实现通过版本号
悲观锁:共享锁,多个事务,只能读不能写,加lock in share
排他锁:一个事务,只能写,for update
行锁:作用于数据行
表锁:作用于表
4、死锁怎么解决?找到进程号,kill进程
5.vachar:字符串长度经常变化的;char:字符串长度固定的
6.mysql 与oracle 区别
都是关系型数据库,
oracle以分布式为核心,是大型数据库,收费的,支持大并发,大访问量,分布式存储,多进程,需要commit; 06 默认用户root
oracle默认端口 1521 默认用户system
mysql小型数据库,开源,单进程多线程,默认提交,mysql默认端口:33
7.guass数据库优势
高斯GaussDB的特点有2个:
①数据+AI。
主要讲的是这个软件产品采用人工智能技术融入分布式数据库的全生命周期,实现自运维、自管理、自调优、自诊断、自愈合五大功能。尤其是自调优性能明显,在交易、分析及混合负载场景下,性能比业界提升60%以上。
②异构计算支持X86、ARM、GPU、NPU。
这个很重要,熟悉数据库领域的从业者都知道,目前数据库厂家,如甲骨文oracle、SAP HANA、微软、IBM等,基本上都是跑在X86架构下。在全球数据库市场,基于主流的X86架构,整个市场十分成熟稳定,牢牢被甲骨文oracle和微软抓住,尤其是甲骨文,作为核心玩家,已经多年占据全球数据库市场老大位置,而且它连续多年在中国市场的占有率超过50%。数据库作为企业的核心业务底层基础设施,想要在这个领域突围,确实需要时间,且不是短时间可以突破的。那对于华为高斯来说,在不适用于X86架构数据场景,它具备天然的优势。因为它的不同之处是“支持ARM”,意味着它可以用于ARM服务器,瞄准的是国产信息化商机。
1.DFX测试
DFX=“Design for X”,表示面向产品非功能性属性的设计,性能测试、安全测试、可靠性测试
网友评论