数据库自己总结常用命令

MySQL

  • 查询某字段值为NULL的数据:is null
select id from 表名 where id is null;

Oracle

1、查看表结构

select * from dba_tab_columns where table_name = '表名大写'; 
select COLUMN_NAME,DATA_TYPE,DATA_LENGTH from user_tab_columns where table_name='表名大写';

注:dba_tab_columns 或者user_tab_columns

2、修改字段
  • 表有数据:ALTER table tableName MODIFY (字段名 字段类型(长度))
alter table 表名 modify(person VARCHAR2(30));
  • 表中没有有数据:ALTER TABLE TABLENAME MODIFY ID CHAR(16)
alter table 表名 modify person VARCHAR2(30)
3、删除数据库表中数据
  • TRUNCHAR TABLE tbale_name(删除表中的所有数据,并不是删除表)

比delete要快很多,表被截断。

  • DROP TABLE table_name (删除表的结构)
4、备份、清楚数据库表
  • CREATE TABLE DZHYUKKT_BACKUP AS SELECT * FROM DZHYUKKT;
    –查询备份是不是成功:
    SELECT * FROM DZHYUKKT_BACKUP;–可以查出数据,证明备份成功

  • 还原数据库备份的表:

INSERT INTO DZHYUKKT SELECT * FROM DZHYUKKT_BACKUP;
(1)清空数据库表信息的两种方法:
  • delete from t

  • truncate table t

  • 区别:

  1. delete是dml操作;truncate是ddl操作,ddl隐式提交不能回滚

  2. delete from t可以回滚,truncate table t 不可以回滚

  3. truncate table t 执行效率更高,会回收表空间,delete from t执行效率慢,不会回收表空间

  4. truncate table t高水线下降,delete from t高水线不降(这个不太明白…)自增ID,TRUNCATE后从1开始,DELETE后还是接着自增

  • 调用delete删除表数据:
DELETE FROM DZHYUKKT;
COMMIT;
  • 使用备份表:DZHYUKKT_BACKUP恢复DZHYUKKT;
INSERT INTO DZHYUKKT SELECT * FROM DZHYUKKT_BACKUP;
COMMIT;

ODPS

  • 使用ODPS期间发现String类型应该分成三种:数值型(123456)、字符型(文字@#)、日期型(2020-07-15)
  • 为什么这么分呢,是因为不同操作符对这三种类型的string的操作是不同的
  • 比如数值型(123456)使用AVG,另外两种就不合适

Other

1、KEY

分为bai主键primary key,外键FOREIGN KEY,以及一般键(即索引)du
应该说是 key 属性:

  1. 如果Key是空的, 那么该列值的可以重复, 表示该列没有索引, 或者是一个非唯一的复合索引的非前导列。

  2. 如果Key是PRI, 那么该列是主键的组成部分。

  3. 如果Key是UNI, 那么该列是一个唯一值索引的第一列(前导列),并别不能含有空值(NULL)。

  4. 如果Key是MUL, 那么该列的值可以重复, 该列是一个非唯一索引的前导列(第一列)或者是一个唯一性索引的组成部分但是可以含有空值NULL。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值