基础运维-杂乱篇-持续更新.......

………………………………说明:本葵花宝典不定时更新……………………………………
一:修改服务器密码
1:在进入系统开机步骤之前按上下键选中你的操作系统
2:按“e”进入编辑模式,修改linux16那一行 ro以及之后的内容全部删掉,直接 ctrl+k ,然后输入rw init=/sysroot/bin/bash   或者 rw rd.break
3:修改完之后直接 ctrl+x重启
4:再执行 mount 查看挂载结果
5:chroot /sysroot/ 切换到sysroot目录
6:输入passwd输入两次新密码
7:touch /.autorelabel 保证系统不会黑屏
8:exit ./shutdown -r now 重启系统输入新密码验证
head -n 10 /etc/passwd
tail -n /etc/passwd
touch hanke{1..5}.txt
解压至指定目录 tar -zxvf 111.tar.gz -C /tmp
文件加锁命令:chattr
linux机器关机重启的几条命令
shutdown
halt
poweroff
reboot
查看用户所属组:id user查出来所属组之后   groups 查出来的组里面有哪些用户
linux中查看内存
cat /proc/meminfo
linux中查看CPU
# 查看物r理CPU个数
cat /proc/cpuinfo| grep "physical id"| sort| uniq| wc -l
# 查看每个物理CPU中core的个数(即核数)
cat /proc/cpuinfo| grep "cpu cores"| uniq
# 查看逻辑CPU的个数
cat /proc/cpuinfo| grep "processor"| wc -l
HP-UX查看CPU
machinfo  glance
AIX查看CPU
prtconf
查看操作系统版本:oslevel
bdf 查看系统中文件系统的大小及使用情况
HP-UX常用命令
1、 hostname:查看系统主机名
2、 model:查看主机型号
3、 ioscan –fnCprocessor:查看CPU个数
4、 top 前几行是cpu个数,型号,和平均负载,下面的十几行信息是进程占用cpu实时状况, 一般占用cpu越多排名就越靠前。
5、 print_manifest:查看主机硬件信息,包括显示系统型号、机器序列号、处理器类型、处理器数目、CPU类型、总内存大小、内置硬盘数、挂接存储信息,IO信息,安装的软件,网络信息、文件系统信息、内核信息
6、 lanscan:列出系统内所有网卡的信息
7、 netstat –in:查看网卡IP地址
8、 ioscan –fnkC disk:查看内置硬盘/外置硬盘(LUN)的使用信息
9、 diskinfo /dev/rdsk/c1t0d0:查看硬盘大小信息
10、 ioscan –fnC fc:列出主机上连接的光纤卡设备
11、 fcmsutil /dev/fcd*(*光纤卡编号):查看光纤卡的wwn号及微码版本
12、 top:查看系统当前CPU使用率、实际内存使用(%Comp段信息),PS使用率等信息
13、 sar:sar 2 3 查看系统当前负载, sar -u 查看cpu的负载, sar -d 查看磁盘的负载
14、 swapinfo:查看交换区信息
15、 uname -a:查看操作系统版本
16、 vgdisplay:查看系统有哪些VG
17、 vgdisplay xxxvg:查看xxxvg信息
18、 vgdisplay –v xxxvg:查看xxxvg中的lv及pv信息
19、 ioscan –fnC disk:查看系统硬盘
20、 strings /etc/lvmtab:查看逻辑卷的分配和使用情况
21、 bdf:查看系统中文件系统的大小及使用情况
22、 mount:查看系统已经挂载的文件系统
23、 sqlplus / nolog :查看Oracle软件版本
在HP-UX上监控系统状况可以使用glance工具,但是该工具需要license
通过SAM工具也可以很方便的看到系统信息,例如sam进入工具界面后按f再按d就可以看的系统硬盘大小及对应vg等信息。
进入sam界面按d再按o:可查看系统热插拔卡
查看文件编码格式:file hanke.txt
更改文件编码格式1:临时更改,vi hanke.txt   :set fileencoding
更改文件编码格式2:enconv -L zh_CN -x UTF-8 hanke.txt
更改文件编码格式3:iconv -f UTF-8 -t GBK hanke.txt > hanke1.txt
IP-hostname
nslookup 10.240.86.56  可查出IP对应的hostname
ping hostname  可查出hostname对应的IP
 
脚本实现ftp取文件
#从FTP上批量下载文件到本地
#!/bin/sh
ftp -v -n 10.11.10.11<<EOF
user ftpuser ftppwd
binary
cd Down
lcd ./
prompt off
mget *
bye
EOF
echo "download from ftp successfully"
 
-d:使用调试模式,但必须编辑 /etc/syslog.conf 文件并添加以下中的一项:user.info FileName 或 user.debug FileName。
-g:禁用文件名中的元字符拓展,即取消全局文件名。
-i :关闭多文件传输中的交互式提示。
-n:防止在起始连接中的自动登录。否则, ftp 命令会搜索 $HOME/.netrc 登录项,该登录项描述了远程主机的登录和初始化过程。
-v:显示远程服务器的全部响应,并提供数据传输的统计信息,即在程序运行时显示详细的处理信息。
 
在linux中瞬间生成指定大小的文件 并且不占用磁盘空间  dd if=/dev/zero of=hanke bs=1M count=0 seek=20000
在linux中瞬间生成指定大小的文件 并且占用实际磁盘空间  dd if=/dev/zero of=hanke bs=1M count=20000
 
对拷文件夹 (包括文件夹本身)
scp -r /home/wwwroot/www/charts/util root@192.168.1.65:/home/wwwroot/limesurvey_back/scp
对拷文件夹下所有文件 (不包括文件夹本身)
scp /home/wwwroot/www/charts/util/* root@192.168.1.65:/home/wwwroot/limesurvey_back/scp
对拷文件并重命名
scp /home/wwwroot/www/charts/util/a.txt root@192.168.1.65:/home/wwwroot/limesurvey_back/scp/b.text
 
免费DNS地址:
阿里云:223.5.5.5  223.6.6.6
谷歌:8.8.8.8   8.8.4.4
百度:180.76.76.76
publicDNS:119.29.29.29
openDNS:208.67.220.220
移动,电信,铁通:101.226.4.6
联通:123.125.81.6
 
查看一个目录下的所有目录和文件
ls -l|grep ^d|wc -l  目录
ls -l|grep ^-|wc -l  文件
ls -lR|grep ^d|wc -l 递归
ls -lR|grep ^-|wc -l 递归
 
history
linux中
查看历史命令的使用时间
1:临时生效直接命令行输入:export HISTTIMEFORMAT='%F %T'
2:永久生效:vi /etc/profile 或者  ~.bash_profile
export HISTTIMEFORMAT="%Y-%m-%d %H:%M:%S"  或者export HISTTIMEFORMAT='%F %T'
若想保留的历史命令很多的话可以继续添加  HISTSIZE=999999
unix中
设置历史命令
vi .profile在最下面加入
export EDITOR=vi
export HISTFILE=~/.bash_history
export HISTSIZE=999999
 
;   顺序执行命令
||   前一条失败则执行第二条
&&   前一条成功则执行第二条
!!:执行上一条命令
!num:执行历史命令中第num条命令
!-num:执行历史命令中倒数第num条命令
!?string?:执行最近一条包含有string字符串的命令
Ctrl+r:搜索上一条匹配的命令
!$:代表上一个命令的最后一个字符串
Esc+.:显示上一个命令的最后一个字符串
Ctrl+a:将光标移到行首
Ctrl+e:将光标移到行尾
Ctrl+右箭头:向右移动一个单词
Ctrl+左箭头:向左移动一个单词
Ctrl+f:向右移动一个字符,相当于按向右按键
Ctrl+b:向左移动一个字符,相当于按向左按键
Esc+f:移动到当前单词的尾部
Esc+b:移动到当前单词的首部
tab:补全命令
Ctrl+c:中断当前的操作(最常用)
Ctrl+u:剪切光标所在位置到行首间的字符,如果光标在最后,相当于剪切当前命令行
Ctrl+k:剪切光标所在位置到行尾间的字符,如果光标在行首,相当于剪切当前命令行
Ctrl+y:粘贴之前被剪切的字符串
Ctrl+d:删除光标处所在的字符
Ctrl+h:删除光标处所在的前一个字符
Ctrl+w:删除光标前的单词
Ctrl+d:注销当前shell并关闭
clear:清屏
exit:退出当前shell
Ctrl+l:清屏操作(将当前的显示全部清除,保留当前行命令)
Ctrl+s: 挂起当前shell
Ctrl+q:重新启动挂起的shell
man -k firewall   #查看firewall的用法
man …………   #man查看上一条查找出来的语句用法,再到里面搜索example,搜索例子,直接拿出来修修补补
source /etc/profile   #改完profile要执行此命令生效
firewall-cmd --reload   #改完防火墙要重载
nmcli connection up eth0   #修改完网卡信息要重启
nmcli connection add type ethernet con-name eth0 ifname eth0 autoconnect yes ipv4 172.24.8.11/24 gw4 172.24.8.254
nmcli connection modify eth0 ipv4.dns 172.24.8.254
nmcli connection up eth0
nmcli connection modify eth0 connection.autoconnect yes ipv6.method manual +ipv6.addresses '2003:ac18::30a/64'   #添加IPV6地址
wget -c   #断点下载,继续下载之前断掉的文件
wget  -O   #重命名下载   wget -O hanke.tar http://^^^^^^
wget -b   #后台下载,使用  tail -f wget-log
wget -i 1.txt   #同时下载多个地址,首先将需要下载的地址卸载1.txt里面
wget -r -A.pdf www.baidu.com   #下载百度下面所有的pdf文件
wget -P /home/hanke http://server.group8.example.com/hanke.txt   #将hanke.txt下载至/home/hanke这个目录
sort命令
sort 升序(根据第一个字符)
sort -r 降序(根据第一个字符)
sort -u 去重复
sort -n 作为数值排序(不作为字符)
sort -t -k (t表示以什么为分隔符,k表示第几个)
 
echo $PATH #查看环境变量
将java加入环境变量,全局:vi /etc/profile 一般修改用户下.bash_profile
export JAVA_HOME=/usr/share/jdk1.6.0_14
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
TMOUT=3000  #环境超时时间为3000秒,直接添加在.bash_profile里面
hostnamectl #可以查看主机名和发行版本
cat /etc/redhat-release  查看发行版本
如果环境没有.ssh目录,请执行ssh localhost 按照要求输入yes以及密码
nmtui #设置hostname以及网卡等信息
ssh root@192.168.85.132 #如果是连接到同一个用户可以去掉用户ssh 192.168.85.129,如果再加上公钥的话可以免密连接
ssh-keygen #生成私钥-公钥对
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.85.129 #此时公钥就到了192.168.85.129,目录为~/.ssh/authorized_keys 此时我就可以在我的机器登录192.168.85.129
ssh-copy-id root@remotehost
w #查看当前系统登录的所有用户
w -f
lab permissions setup #重置系统做题目
lab permissions grade #做完题目检查下
showmount -e IP或者主机名   #查看NFS服务器上所有共享的目录
getent   #查看系统数据库中存在的信息
getent passwd|grep hanke
tar -zcvf hanke`date +%Y%m%d%H%M`.tar.gz hanke  以当前时间备份
判断目录是否为空,然后执行其他操作
[ "`ls -A $WORK_DIR`" != "" ] && mv $WORK_DIR $WORK_DIR`date +%Y%m%d` && mkdir $WORK_DIR
DATE=$(date +%Y%m%d) #将当前日期赋值给DATE变量
date -s 2019-10-15
date -s 15:00
date -s "2019-10-15 15:00"
date查看系统时间
date +%Y%m%d  #显示当前的年月日
date -d "last day" #显示前一天日期
date -d last-day #显示前一天日期
date -d last-day +%Y%m%d
touch -d "2020-09-18 12:30" `find . -type d`  修改查找到得目录的时间为20200918
clock或者hwclock查看的是硬件时间
hwclock -s 将硬件时间写入到系统时间
hwclock -w 将系统时间写入到硬件时间
tar -cvf hanke.tar /hanke
tar -zcvf hanke.tar.gz /hanke
tar -jcvf hanke.tar.bz2 /hanke
tar -Jcvf hanke.tar.xz /hanke
tar -cvf hanke.tar * .[!.]*   #将隐藏文件一起打包
tar -tvf 111.tar  #查看包里面的文件路径
tar -xvf 111.tar tmp/111/222/333/444.txt  #根据tvf出来的路径单独解压出包里面的某个文件
tar -tvf 111.tar |grep test.txt  #查看压缩包里面是否有test.txt
tar -xvf 111.tar 111/hanke/test.txt  #单独解压出包里面的某个文件
find . -type f -name 'hanke*' |xargs tar -cvf 111.tar
find . -type f -name 'hanke*' -exec tar -cvf 222.tar {} \;
find . -type f -newermt '2020-10-20 12:00:00' ! -newermt '2020-10-20 13:00:00'
echo yes|cp -ra ./.bash_profile ../   #将当前的.bash_profile强制覆盖到上一级目录(不用手动输入yes)
如果linux中打tar解压后有乱码,可以打zip包
zip -r hanke.zip /hanke  打包目录需要带-r参数
unzip hanke.zip   解压
gzip hanke.tar.bz2 /hanke   #压缩完之后/hanke这个目录就没了
gzip test.txt   #生成test.txt.gz
gzip -d test.txt.gz   #将.gz解压成test.txt
gzip -c 1.txt 2.txt > all.gz  #将1.txt和2.txt里面的内容全部弄到all里面,并将all打包为all.gz
bzip2 -d filename.bz 解压bz文件
bunzip2 filename.bz  解压bz文件
tar -jxvf filename.tar.bz  解压.tar.bz文件
uncompress filename.Z  解压.Z文件
conpress filename   压缩成.Z文件
rar a filename.rar folder 压缩为filename.rar
unrar x filename.rar  解压
tar -Zcvf hanke.tar.Z hanke 压缩
tar -Zxvf hanke.tar.Z  解压
find / -type f -mtime  modify
                      -atime  access
                      -ctime   change
                    -user
                    -size
                    -group
rename sit uat2 *  #批量将文件名带sit的改为uat2
cat 2.txt|while read line;do mkdir -p $line;done  读取2.txt的每一行内容并进行mkdir
cat /root/hanke.txt|grep "^$"|wc -l   #查看hanke.txt是否有空行,并统计出有几个空行
grep hello /root/hanke.txt|grep -v "^$" >/root/wordlist   #将hanke.txt里面含hello的行过滤出来追加到wordlist里面并去掉空行
find . -type f -mtime +10 -exec cp {} ~/hanke/bak/ \;
find . -type f -mmin -10 -exec ls -lrt {} \;   #将10分钟以内的文件列出来
 
cmd1 ; cmd2 #顺序执行命令
cmd1 || cmd2 #cmd1失败则执行cmd2
cmd1 && cmd2 #cmd1执行成功则执行cmd2
 
/etc/yum.repos.d #此目录下是yum源
yum install --downloadonly --downloaddir=/tmp <package-name> #仅从yum源中下载rpm包
如果不能使用--downloadonly参数就执行 yum install yum-plugin-downloadonly 安装downloadonly
yum clean all ; yum makecache #清理缓存,建立缓存
yum -y install #安装软件或工具,支持*
yum -y install "/usr/sbin/semanage"    #直接写命令路径安装
yum install "/usr/bin/httpd"
yum remove #卸载工具,不支持*
yum erase subversion subversion-devel subversion-libs subversion-javah  #同时下载多个软件包
yum provides httpd #查看httpd是哪个包提供的
yum search httpd   #查找httpd是哪个包提供的
yum groups install "Server with Gui"   #安装图形化
rpm -ivh #rpm安装工具,支持*
rpm -e #卸载工具,不支持*
rpm -ql   #列出关于这个服务的所有文件
rpm -qc   #查服务的配置文件路径
rpm -qf 文件名   #查找这个文件属于哪个安装包
rpm -qi firewalld   #查看防火墙安装信息
rpm -qd firewalld   #查看防火墙所有帮助文档
rpm -qR firewalld   #查看防火墙所依赖的软件包
源码编译安装步骤:
./configure --prefix #编译安装,--prefix指定安装目录
make && make install
 
whereis oracle #查询oracle安装路径
which oracle #查找运行文件路径
ln -s path1 path2 #将path1软链接到path2
ln -d path1 path2 #将path1硬链接到path2
ln -snf path1 path2 #path2已经存在。更改链接路径
 
数仓改数据库密码:modify user bosedw as password=""
 
ORACLE数据库:
查看数据库服务器的版本:select * from v$version;
重启oracle数据库
第一步;su - oracle(必须oracle用户)
先执行 sqlplus /nolog;
再执行 conn sys / as sysdba ;
关闭 再执行 shutdown immediate ;
开启 最后执行 startup ;
第二步骤;su - oracle用户下执行((必须oracle用户))
监听开启 lsnrctl start
关闭监听 lsnrctl stop
查看当前数据库连接数:select count(*) from v$process;
查看当前数据库最大连接数:select value from v$parameter where name='processes';
查看数据库下所有用户是否被锁
select username,account_status,lock_date from dba_users;
查看数据库下单个用户是否被锁
select username,account_status,lock_date from dba_users where username='hanke';
用户解锁
alter user hanke account unlock;
修改用户密码
alter user hanke identified by abcd1234;
模糊查询:select * from tabname where tabname.colname like '%韩可%';
更新某一列数据为某一个值:update test set name='测试韩';
字段下面的数据小于某个长度:select * from tabname where length(colname)<18; 
select * from v$version;   #查看当前数据库版本
create table CUST(list number(14) primary key,name varchar2(100) not null,id nvarchar2(100),mobile nvarchar2(100),address varchar2(100));
insert into CUST (column1,column2,column3) values (1,2,3,4,5);   insert into是插入新数据,如果输入的值列表和字段列表对应,则不需要(column1,)
alter table CUST1 add NAME1 varchar2(100);  添加列
alter table CUST1 drop column NAME1;  删除列
delete from CUST where NAME1='韩可1';    删除某一条记录
update CUST set ADDRESS='江苏省徐州市',NAME1='韩可1' where list=1;   修改字段值
update CUST set CUST.NAME1=NULL;   将NAME1这一列数据全部删除
查询表字段中重复的数据有哪些:select 字段,count(*) from 表名 group by 字段 having count(*) >1; #显示重复的数据以及重复的条数
查询表字段中重复的数据有哪些:select count(*) from 表名 a where (a.字段) in (select 字段 from 表名 group by 字段 having count(*) >1); #只显示重复的条数
删除重复数据保留rowid最小的那一条:delete from 表名 a where (a.字段) in (select 字段 from 表名 group by 字段 having count(*) >1) and rowid not in (select min(rowid) from 表名 group by 字段 having count(*) >1);
drop table CUST;  #删除表
create table CUST_COPY1 as select * from CUST;  #同一个库下从CUST复制一个表并重命名为CUST_COPY1
create table CUST_COPY1 as select * from CUST where 1 = 2;  #同一个库下从CUST表复制表结构到新的表,不复制表数据,但是主键没复制过去
如果想再把数据也弄过去,那就执行:insert into CUST_COPY1 select * from CUST;
同一个库从一张表copy到另一张表:insert into CUST_COPY1(column1,column2,,,,) select column1,column2,,,, from CUST;
同一个库从一张表copy到另一张表:insert into CUST_COPY1 select * from CUST;
查看dmp文件里面有哪些表:strings  exp_ddl_lhr_03.dmp | grep "CREATE TABLE"|awk '{print $3}'  #记得替换strings后面的内容
查看dmp文件的字符集:cat exp_ddl_lhr_03.dmp | od -x|head -1|awk '{print $2 $3}'|cut -c 3-6 查找出来4个字符,根据这四个字符到数据库查找对应的字符:select NLS_CHARSET_NAME(TO_NUMBER('0354','XXXX')) FROM DUAL;
查看当前数据库字符集:select userenv('language') from dual;
查看数据库中所有表空间名:select name from v$tablespace;
exp hjgl/abcd1234@10.240.33.104/orcl file=/hjgl/hanke/CUST.dmp tables=CUST   #从orcl库中导出CUST表结构以及表数据
exp hjgl/abcd1234@10.240.33.104/orcl file=/hjgl/hanke/CUST.dmp   #从orcl库中导出CUST表结构以及表数据
imp的时候要注意:目的库里面不能包含dmp里面的表,如果报错too lang 可能是字符集的原因
imp hjgl/abcd1234@10.240.33.105/orcl1 file=/hjgl/hanke/CUST.dmp tables='(CUST,TEST)'  #将从orcl库中导出的CUST表结构以及表数据导入到orcl1库中,表名还是CUST
imp后面的tables如果小括号导入不行的话就加单引号
imp hjgl/abcd1234@10.240.33.105/orcl1 file=/hjgl/tmp/CUST/dmp fromuser=topcard touser=hjgl log=CUST.log
如何查看fromuser:执行imp命令会显示这个dmp文件当初是哪个用户导出的
imp hjgl/abcd1234@10.240.33.105/orcl1 file=/hjgl/hanke/CUST.dmp ignore=y full=y
创建永久表空间:create tablespace TSP_TEST datafile '/oracle/oracledata/TSP_TEST.DBF' size 500M AUTOEXTEND ON NEXT 50M
删除非空表空间,包含物理文件,以及外键约束
drop tablespace tablespace_name including contents and datafiles CASCADE CONSTRAINTS;
oracle:
查表:select count(*) from user_tables where table_name='klnb_cfkhcy';   ECCIFPAGT
模糊查询:select count(*) from user_tables where table_name LIKE '_hanke_';
查表中是否有某一字段:select count(*) from user_tab_columns where table_name='FSM_BATCHBUY_PAYIN_FLOW' and column_name='PAYEENAME';       
查表空间:select t.tablespace_name,round(sum(bytes / (1024 * 1024)),0)ts_size from dba_tablespaces t,dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;  
删除索引:ALTER TABLE table_name DROP PRIMARY KEY;
          ALTER TABLE table_name DROP INDEX index_name;
          DROP INDEX index_name ON table_name;
          DROP INDEX index_name;
对多个字段建索引:CREATE UNIQUE INDEX index_name ON table_name (column1,column2);
                  CREATE INDEX index_name ON table_name (column1,column2);
                  ALTER TABLE table_name ADD PRIMARY KEY (column1,column2);
                  ALTER TABLE table_name ADD INDEX index_name (column1,column2);
列出此用户此库下所有表名:select table_name from user_tables;
统计此用户此库下所有表个数:select count(*) from all_tables where owner='HJGL';  #用户一定要大写
添加字段:alter table CUST add TIME date;  添加TIME字段并设定字段类型为date
修改字段类型:alter table CUST modify TIME varchar2(100);
oracle数据库连接串里面的密码有特殊字符请这样表示:sqlplus 'user/"passwd"'@IP/SID
列出数据库中所有表:select table_name from user_tables;
删除表中所有数据但不删除表:truncate table CUST1;
根据条件查询某一条数据:select * from CUST where CUST.MOBILE='18321213686';  #查询手机号为18321213686人的所有信息,也可以将*替换为字段
删除主键的同时并删除索引:alter table CUST drop constraint 约束名 cascade drop index;
删除约束:alter table 表名 drop constraint 约束名;
删除主键:alter table 表名 drop primary key;
如果出错:此唯一主键已被某些外键引用则执行:alter table 表名 drop primary key cascade;
删除主键被引用的表:drop table 表名 cascade constraint;
查主键名称:select * from user_constraint where table_name='CUST' and constraint_type='P';
查主键对应的列:select * from user_cons_columns where table_name='CUST' and constraint_name='PK_CUST';
查索引名称:select * from user_indexes where table_name='CUST';
查索引对应的列:select * from user_ind_columns where table_name='CUST' and index_name='INDX_BA';
创建索引:create index index_CUST on CUST(column1,column2);
创建主键:alter table CUST add primary key(list);
创建主键:alter table CUST add constraint PK_CUST primary key(list);
清理所有表数据:SELECT 'TRUNCATE TABLE ' || TABLE_NAME || ';' FROM USER_TABLES;
删除所有表:SELECT 'DROP TABLE '|| TABLE_NAME || ';' AS SQLSCRIPT FROM USER_TABLES;
将上一条命令查出的结果再执行就OK了,其实SELECT TABLE_NAME FROM USER_TABLES;查出来的结果我们通过UE自行处理也是可以的
外键和主键的关系:
首先要有父子两个表,父表里面建好主键,字表在创建父表外键( references)的时候必须要用父表中的主键TEST(LIST)  TEST是父表,LIST为父表的主键
字表在给外键插入数据时必须要是父表主键的值或者None,否则报错主键冲突
 
DB2:
查看db2版本:db2level
查看数据库是否启动:ps -ef|grep -i db2sysc
列出关联的DB2数据库:db2 list db directory  或 db2 list node directory
进入数据库:db2 connect to cbibdb user ibapp using hardutest1017
查询表是否存在:db2 list tables|grep IB_LOAN_ENTRUST_SIGN   前提是db2数据库已关联到本机器
                                db2 list tables for all   列出当前用户下的所有表
                                db2 list active databases 列出所有活动的数据库
                                db2 list db directory  列出所有数据库
                                db2 list tablespaces show detail  列出当前数据库表空间分配情况
查询一个表的主键:db2 describe indexes for table IB_RESTAURANT_CARD_INFO show detail 可以查看具体索引的字段 names对应的下面的那个字段
db2数据库改用户密码,其实就是在Linux下面切到db2用户,直接改密码,这样的话也就相当于改了数据库密码
或者linux下:db2 connect to cbibdb user ibapp using Easylearn1212 new hardutest1017 confirm harutest1017
windows下:切换至admin用户db2admin setid ibapp harutest1017
db2数据库连接串里面的密码有特殊字符请这样表示:db2 "connect to database user hanke using 'abcd1234'"
查询表存不存在:db2 "select count(*) from syscat.tables where tabname='CUST'"
查询字段存不存在:db2 "select count(*) from syscat.columns where tabname='CUST' and colname='NAME'"
模糊查询:select * from tabname where tabname.colname like '%韩可%';
查表结构:db2 describe table 表名
DB2
#db2cmd
#db2 creat database hanke(数据库名) /创建数据库
#db2 connect to hanke user root using abcd1234 /连接至数据库
#db2 connect reset /断开DB2数据库连接
#db2 drop database hanke /删除数据库
#db2 "insert into t1 select * from t2" /将t2的表导入到t1
#db2 -tvf hanke.sql /执行脚本文件
 
mysql数据库
查看数据库服务器的版本:status;
查询是否存在某张表:select count(*) from information_schema.tables where table_name = 'klnb_cfkhcy';
查询某个表中是否存在某字段:select count(*) from information_schema.columns where table_name = 'otpmobilert' and column_name = 'MOBILE';
查询主键:describe 表名;   看key那一列,凡是带PRI的都为主键
查询主键:select column_name f
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值