mysql如何打开表的常规_数据库表的常规操作

=================Oracle==================

1.创建表

Create table [tableName](id int,name varchar2(64));

2.删除表

drop table [tableName];

3.修改表

alert table [tableName] add newColumn varchar2(64);

comment on table [tableName] is '表的描述';

comment on column [tableName.column] is '列的描述';

4.查询表

select * from [tableName];

5.特殊函数(Oracle):

NVL(Expr1,Expr2)如果Expr1为NULL,返回Expr2的值,否则返回Expr1的值

NVL2(Expr1,Expr2,Expr3)如果Expr1为NULL,返回Expr2的值,否则返回Expr3的值

NULLIF(Expr1,Expr2)如果Expr1和Expr2的值相等,返回NULL,否则返回Expr1的值

6.在SQLSERVER中我们可以这样写:

select ISNULL(sum(data),0) ...

7.数据库中的rowId:rowid是数据库的一个伪列,建立表的时候数据库会自动为每个表建立ROWID列

用来唯一标识一行记录。 rowid是存储每条记录的实际物理地址,对记录的访问是基于ROWID。

每条记录的物理地址, 对数据库中记录行的作快检索方式就是使用rowid来进行查找。

8.存入数据库的密码不要存明文,存密码的Hashcode值,当用户登录时,用密码的hashcode值比较,    用"==";

9.如何查看一条SQL语句是否用到索引?

答:跟踪查看SQL语句的"执行计划",例如:mysql数据库可以这样跟踪,"explain sql语句";

oracle数据库有很多种方法可以跟踪执行计划

10.删除表里面的重复数据,保留其中的一条:

DELETE FROM test WHERE id NOT IN(SELECT maxId FROM(SELECT MAX(id) AS maxId  FROM test GROUP BY CODE)AS b)  ;

DELETE FROM test WHERE  CODE = 'aaa' AND id NOT IN (SELECT maxid FROM (SELECT MAX(id) AS maxid FROM test WHERE CODE = 'aaa') AS b);11.SQL行转列的处理方法: 有时候某个功能有多项指标,我们需要纵向展示,比如成绩

SELECT s.lotInfoId AS lotNo,

MAX(s.packingQty) AS packingQty,

MAX(s.checkedQty) AS checkedQty,

MAX(s.actualQty) AS actualQty,

MAX(s.preRequisitionQty) AS preRequisitionQty,

MAX(s.memo) AS memo,

MAX(CASE st.qualityAssuranceContent WHEN '10' THEN IFNULL(st.qualityAssuranceResult,0) ELSE 0 END ) AS 'item001',

MAX(CASE st.qualityAssuranceContent WHEN '20' THEN IFNULL(st.qualityAssuranceResult,0) ELSE 0 END ) AS 'item002',

MAX(CASE st.qualityAssuranceContent WHEN '30' THEN IFNULL(st.qualityAssuranceResult,0) ELSE 0 END ) AS 'item003'

FROM PU_LotQualityAssuranceLog  st

LEFT JOIN BD_LotInfo s ON st.lotNo = s.lotInfoId

where st.receiptId = #{receiptId}

GROUP BY s.lotInfoId

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值