精华内容
下载资源
问答
  • Presto常用命令
    千次阅读
    2020-05-12 21:11:12
    1. 列出表清单
      show tables [from schema] [like pattern]
      
    更多相关内容
  • 迈普路由器常用show命令.pdf
  • 迈普路由器常用show命令实用.pdf
  • 路由器常用show命令

    2011-07-31 16:45:50
    路由器常用show命令,可以帮助网络人员记住基本的路由器配置,辅助文件
  • Line的配置模式及cisco常用show命令

    千次阅读 2017-11-22 20:18:21
    console命令,将进入Line配置模式。该模式主要用于对虚拟终端(vty)和控制台端口进行配置,其配置主要是设置虚拟终端和控制台的用户级登录密码。 Line配置模式的命令行提示符为:student1(config-line)# ...

    思科交换机  Line配置模式

    在全局配置模式下,执行line vtyline console命令,将进入Line配置模式。该模式主要用于对虚拟终端(vty)和控制台端口进行配置,其配置主要是设置虚拟终端和控制台的用户级登录密码。

    Line配置模式的命令行提示符为:student1(config-line)#

    交换机有一个控制端口(console),其编号为0,通常利用该端口进行本地登录,以实现对交换机的配置和管理。为安全起见,应为该端口的登录设置密码,设置方法为:

    student1#config terminal

    student1(config)#line console 0

    student1(config-line)#?

    exit         exit from line configuration mode

    login        Enable password checking

    password     Set a password

    从帮助信息可知,设置控制台登录密码的命令是password,若要启用密码检查,即让所设置的密码生效,则还应执行login命令。退出line配置模式,执行exit命令。

    下面设置控制台登录密码为654321,并启用该密码,则配置命令为:

    student1(config-line)#password  654321

    student1(config-line)#login

    student1(config-line)#end

    student1#write

    设置该密码后,以后利用控制台端口登录访问交换机时,就会首先询问并要求输入该登录密码,密码校验成功后,才能进入到交换机的用户EXEC模式。

    交换机支持多个虚拟终端,一般为16个(015)。设置了密码的虚拟终端,就允许登录,没有设置密码的,则不能登录。如果对04条虚拟终端线路设置了登录密码,则交换机就允许同时有5telnet登录连接,其配置命令为:

    student1(config)#line vty 0 4

    student1(config-line)#password  123456

    student1(config-line)#login

    student1(config-line)#end

    student1#write

    若要设置不允许telnet登录,则取消对终端密码的设置即可,为此可执行no passwordno login来实现。

    Cisco IOS命令中,若要实现某条命令的相反功能,只需在该条命令前面加no,并执行前缀有no的命令即可。

    为了防止空闲的连接长时间的存在,通常还应给通过console口的登录连接和通过vty线路的telnet登录连接,设置空闲超时的时间,默认空闲超时的时间是10分钟。

    设置空闲超时时间的配置命令为:exec-timeout 分钟数秒数

    例如,要将vty 0-4线路和Console的空闲超时时间设置为3分钟0秒,则配置命令为:

    student1#config t

    student1(config)#line vty 0 4

    student1(config-line)#exec-timeout 3 0

    student1(config-line)#line console 0

    student1(config-line)#exec-timeout 3 0

    student1(config-line)#end

    student1#

     

     

     

     

    交换机基本状态:

    switch: ;ROM状态, 路由器是rommon>

    hostname> ;用户模式

    hostname# ;特权模式

    hostname(config)# ;全局配置模式

    hostname(config-if)# ;接口状态

     

    交换机口令设置:

    switch>enable ;进入特权模式

    switch#config terminal ;进入全局配置模式

    switch(config)#hostname  ;设置交换机的主机名

    switch(config)#enable secret xxx ;设置特权加密口令

    switch(config)#enable password xxa ;设置特权非密口令

    switch(config)#line console 0 ;进入控制台口

    switch(config-line)#line vty 0 4 ;进入虚拟终端

    switch(config-line)#login ;允许登录

    switch(config-line)#password xx ;设置登录口令xx

    switch#exit ;返回命令

    交换机VLAN设置:

    switch#vlan database ;进入VLAN设置

    switch(vlan)#vlan 2 ;建VLAN 2

    switch(vlan)#no vlan 2 ;删vlan 2

    switch(config)#int f0/1 ;进入端口1

    switch(config-if)#switchport access vlan 2 ;当前端口加入vlan 2

    switch(config-if)#switchport mode trunk ;设置为干线

    switch(config-if)#switchport trunk allowed vlan 1,2 ;设置允许的vlan

    switch(config-if)#switchport trunk encap dot1q ;设置vlan 中继

    switch(config)#vtp domain  ;设置发vtp域名

    switch(config)#vtp password  ;设置发vtp密码

    switch(config)#vtp mode server ;设置发vtp模式

    switch(config)#vtp mode client ;设置发vtp模式

    交换机设置IP地址

    switch(config)#interface vlan 1 ;进入vlan 1

    switch(config-if)#ip address   ;设置IP地址

    switch(config)#ip default-gateway  ;设置默认网关

    switch#dir flash: ;查看闪存

    交换机显示命令:

    switch#write ;保存配置信息

    switch#show vtp ;查看vtp配置信息

    switch#show run ;查看当前配置信息

    switch#show vlan ;查看vlan配置信息

    switch#show interface ;查看端口信息

    switch#show int f0/0 ;查看指定端口信息

    2. 路由器支持的命令:

    路由器显示命令:

    router#show run ;显示配置信息

    router#show interface ;显示接口信息

    router#show ip route ;显示路由信息

    router#show cdp nei ;显示邻居信息

    router#reload     ;重新起动

    路由器口令设置:

    router>enable ;进入特权模式

    router#config terminal ;进入全局配置模式

    router(config)#hostname  ;设置交换机的主机名

    router(config)#enable secret xxx ;设置特权加密口令

    router(config)#enable password xxb ;设置特权非密口令

    router(config)#line console 0 ;进入控制台口

    router(config-line)#line vty 0 4 ;进入虚拟终端

    router(config-line)#login ;要求口令验证

    router(config-line)#password xx ;设置登录口令xx

    router(config)#(Ctrl+z) ; 返回特权模式

    router#exit ;返回命令

    路由器配置:

    router(config)#int s0/0 ;进入Serail接口

    router(config-if)#no shutdown ;激活当前接口

    router(config-if)#clock rate 64000 ;设置同步时钟

    router(config-if)#ip address   ;设置IP地址

    router(config-if)#ip address  second ;设置第二个IP

    router(config-if)#int f0/0.1 ;进入子接口

    router(config-subif.1)#ip address  ;设置子接口IP

    router(config-subif.1)#encapsulation dot1q  ;绑定vlan中继协议

    router(config)#config-register 0x2142 ;跳过配置文件

    router(config)#config-register 0x2102 ;正常使用配置文件

    router#reload ;重新引导

    路由器文件操作:

    router#copy running-config startup-config ;保存配置

    router#copy running-config tftp ;保存配置到tftp

    router#copy startup-config tftp ;开机配置存到tftp

    router#copy tftp flash: ;下传文件到flash

    router#copy tftp startup-config;下载配置文件

    ROM状态:

    Ctrl+Break ;进入ROM监控状态

    rommon>confreg 0x2142 ;跳过配置文件

    rommon>confreg 0x2102 ;恢复配置文件

    rommon>reset  ;重新引导

    rommon>copy xmodem: flash: ;从console传输文件

    rommon>IP_ADDRESS=10.65.1.2 ;设置路由器IP

    rommon>IP_SUBNET_MASK=255.255.0.0 ;设置路由器掩码

    rommon>TFTP_SERVER=10.65.1.1 ;指定TFTP服务器IP

    rommon>TFTP_FILE=c2600.bin ;指定下载的文件

    rommon>tftpdnld ;从tftp下载

    rommon>dir flash: ;查看闪存内容

    rommon>boot ;引导IOS

    静态路由:

    ip route    ;命令格式

    router(config)#ip route 2.0.0.0 255.0.0.0 1.1.1.2 ;静态路由举例

    router(config)#ip route 0.0.0.0 0.0.0.0 1.1.1.2 ;默认路由举例

    动态路由:

    router(config)#ip routing ;启动路由转发

    router(config)#router rip ;启动RIP路由协议

    router(config-router)#network  ;设置发布路由

    router(config-router)#negihbor  ;点对点帧中继用。

    帧中继命令:

    router(config)#frame-relay switching ;使能帧中继交换

    router(config-s0)#encapsulation frame-relay ;使能帧中继

    router(config-s0)#fram-relay lmi-type cisco ;设置管理类型

    router(config-s0)#frame-relay intf-type DCE ;设置为DCE

    router(config-s0)#frame-relay dlci 16 ;

    router(config-s0)#frame-relay local-dlci 20 ;设置虚电路号

    router(config-s0)#frame-relay interface-dlci 16 ;

    router(config)#log-adjacency-changes ;记录邻接变化

    router(config)#int s0/0.1 point-to-point ;设置子接口点对点

    router#show frame pvc ;显示永久虚电路

    router#show frame map ;显示映射

    基本访问控制列表

    router(config)#access-list  permit|deny  

    router(config)#interface  ;default:deny any

    router(config-if)#ip access-group  in|out ;default:out

    例1:

    router(config)#access-list 4 permit 10.8.1.1

    router(config)#access-list 4 deny 10.8.1.0 0.0.0.255

    router(config)#access-list 4 permit 10.8.0.0 0.0.255.255

    router(config)#access-list 4 deny 10.0.0.0 0.255.255.255

    router(config)#access-list 4 permit any

    router(config)#int f0/0

    router(config-if)#ip access-group 4 in

    扩展访问控制列表:

    access-list  permit|deny icmp  <DESTINATIONIP

    wild>[type]

    access-list  permit|deny tcp  <DESTINATIONIP

    wild>[port]

    例3:

    router(config)#access-list 101 deny icmp any 10.64.0.2 0.0.0.0 echo

    router(config)#access-list 101 permit ip any any

    router(config)#int s0/0

    router(config-if)#ip access-group 101 in

    例3:

    router(config)#access-list 102 deny tcp any 10.65.0.2 0.0.0.0 eq 80

    router(config)#access-list 102 permit ip any any

    router(config)#interface s0/1

    router(config-if)#ip access-group 102 out

    删除访问控制例表:

    router(config)#no access-list 102

    router(config-if)#no ip access-group 101 in

    路由器的nat配置

    Router(config-if)#ip nat inside ;当前接口指定为内部接口

    Router(config-if)#ip nat outside ;当前接口指定为外部接口

    Router(config)#ip nat inside source static [p] <私有IP><公网IP> [port]

    Router(config)#ip nat inside source static 10.65.1.2 60.1.1.1

    Router(config)#ip nat inside source static tcp 10.65.1.3 80 60.1.1.1 80

    Router(config)#ip nat pool p1 60.1.1.1 60.1.1.20 255.255.255.0

    Router(config)#ip nat inside source list 1 pool p1

    Router(config)#ip nat inside destination list 2 pool p2

    Router(config)#ip nat inside source list 2 interface s0/0 overload

    Router(config)#ip nat pool p2 10.65.1.2 10.65.1.4 255.255.255.0 type rotary

    Router#show ip nat translation

    rotary 参数是轮流的意思,地址池中的IP轮流与NAT分配的地址匹配。

    overload参数用于PAT 将内部IP映射到一个公网IP不同的端口上。

    外部网关协议配置:

    routerA(config)#router bgp 100

    routerA(config-router)#network 19.0.0.0

    routerA(config-router)#neighbor 8.1.1.2 remote-as 200

    配置PPP验证:

    RouterA(config)#username  password 

    RouterA(config)#int s0

    RouterA(config-if)#ppp authentication {chap|pap}

    3.PIX防火墙命令

    Pix525(config)#nameif ethernet0 outside security0 ;命名接口和级别

    Pix525(config)#interface ethernet0 auto ;设置接口方式

    Pix525(config)#interface ethernet1 100full ;设置接口方式

    Pix525(config)#interface ethernet1 100full shutdown

    Pix525(config)#ip address inside 192.168.0.1 255.255.255.0

    Pix525(config)#ip address outside 133.0.0.1 255.255.255.252

    Pix525(config)#global (if_name) natid ip-ip ;定义公网IP区间

    Pix525(config)#global (outside) 1 7.0.0.1-7.0.0.15 ;例句

    Pix525(config)#global (outside) 1 133.0.0.1 ;例句

    Pix525(config)#no global (outside) 1 133.0.0.1 ;去掉设置

    Pix525(config)#nat (if_name) nat_id local_ip [netmark]

    Pix525(config)#nat (inside) 1 0 0

    内网所有主机(0代表0.0.0.0)可以访问global 1指定的外网。

    Pix525(config)#nat (inside) 1 172.16.5.0 255.255.0.0

    内网172.16.5.0/16网段的主机可以访问global 1指定的外网。

    Pix525(config)#route if_name 0 0 gateway_ip [metric] ;命令格式

    Pix525(config)#route outside 0 0 133.0.0.1 1 ;例句

    Pix525(config)#route inside 10.1.0.0 255.255.0.0 10.8.0.1 1 ;例句

    Pix525(config)#static (inside, outside) 133.0.0.1 192.168.0.8

    表示内部ip地址192.168.0.8,访问外部时被翻译成133.0.0.1全局地址。

    Pix525(config)#static (dmz, outside) 133.0.0.1 172.16.0.8

    中间区域ip地址172.16.0.8,访问外部时被翻译成133.0.0.1全局地址。

     

    展开全文
  • 锐捷show命令日记

    2009-09-20 09:01:19
    这个是本人从网络上一位朋友里copy过来的(是他日记),我觉得已经把show命令的要害全说通了。
  • Mysql show命令全面详解

    2017-10-17 14:17:58
    Mysql show命令全面详解,这个是非常常用的命令,必会
  • status = show status like ‘%%’ [例:show status like ‘Com_select’]variables = show variables like ‘%%’ [例:show variables like ‘query_cache_size’] 1、MySQL查询次数(status)Com_select;Com_update;...
  • 创建与管理mysql数据库的常用命令: 1,使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2,创建一个数据库MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3,选择创建的数据库 mysql> USE ...
  • 下面列一些常用命令做备记。 1、显示数据库 show databases 显示表 show tables;  2、创建用户 创建root用户密码为123 use mysql; grant all on *.* to root@'%' identified by '123' with grant option; ...
  • show命令管道符深入解析,常用的in b sess 等等
  • linux系列之常用运维命令整理笔录

    万次阅读 多人点赞 2019-10-28 17:33:21
    本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些...

    系列博客专栏:

    本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新,本博客命令基于Centos系统

    在这里插入图片描述

    一、系统监控

    1、free命令使用

    • free命令简介
      free 命令能够显示系统中物理上的空闲和已用内存,还有交换内存,同时,也能显示被内核使用的缓冲和缓存

    • free命令语法

    语法:free [param]
    

    param可以为:

    • -b:以Byte为单位显示内存使用情况;

    • -k:以KB为单位显示内存使用情况;

    • -m:以MB为单位显示内存使用情况;

    • -o:不显示缓冲区调节列;

    • -s<间隔秒数>:持续观察内存使用状况;

    • -t:显示内存总和列;

    • -V:显示版本信息。

    • free命令使用
      在这里插入图片描述
      Mem:表示物理内存统计

    • total:表示物理内存总数(total=used+free)

    • used:表示系统分配给缓存使用的数量(这里的缓存包括buffer和cache)

    • free:表示未分配的物理内存总数

    • shared:表示共享内存

    • buffers:系统分配但未被使用的buffers 数量。

    • cached:系统分配但未被使用的cache 数量。

    -/+ buffers/cache:表示物理内存的缓存统计

    • (-buffers/cache) 内存数: (指的第一部分Mem行中的used – buffers – cached)
    • (+buffers/cache) 内存数: (指的第一部分Mem行中的free + buffers + cached)

    (-buffers/cache)表示真正使用的内存数, (+buffers/cache) 表示真正未使用的内存数

    Swap:表示硬盘上交换分区的使用情况

    2、ulimit命令使用

    ulimit用于显示系统资源限制的信息
    语法:ulimit [param]
    param参数可以为:

    • -a  显示目前资源限制的设定。
    • -c <core文件上限>  设定core文件的最大值,单位为区块。
    • -d <数据节区大小>  程序数据节区的最大值,单位为KB。
    • -f <文件大小>  shell所能建立的最大文件,单位为区块。
    • -H  设定资源的硬性限制,也就是管理员所设下的限制。
    • -m <内存大小>  指定可使用内存的上限,单位为KB。
    • -n <文件数目>  指定同一时间最多可开启的文件数。
    • -p <缓冲区大小>  指定管道缓冲区的大小,单位512字节。
    • -s <堆叠大小>  指定堆叠的上限,单位为KB。
    • -S  设定资源的弹性限制。
    • -t <CPU时间>  指定CPU使用时间的上限,单位为秒。
    • -u <程序数目>  用户最多可开启的程序数目。
    • -v <虚拟内存大小>  指定可使用的虚拟内存上限,单位为KB

    在这里插入图片描述

    3、top命令使用

    top命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的实用工具,TOP命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,有点像window系统的任务管理器

    语法:top [param]
    

    param为:

    • -b:以批处理模式操作;
    • -c:显示完整的治命令;
    • -d:屏幕刷新间隔时间;
    • -I:忽略失效过程;
    • -s:保密模式;
    • -S:累积模式;
    • -u [用户名]:指定用户名;
    • -p [进程号]:指定进程;
    • -n [次数]:循环显示的次数。
    • -H:查看进程下面的子线程

    top命令分为上下两个部分:

    • 系统统计信息
    • 系统进程信息
      在这里插入图片描述
      系统统计信息
    top - 11:38:01 up 231 days,  2:06,  1 user,  load average: 0.88, 0.22, 0.18
    Tasks: 170 total,   1 running, 169 sleeping,   0 stopped,   0 zombie
    %Cpu(s): 38.7 us,  3.5 sy,  0.0 ni, 42.0 id, 15.5 wa,  0.0 hi,  0.3 si,  0.0 st
    KiB Mem :  8010580 total,   927820 free,  2411572 used,  4671188 buff/cache
    KiB Swap:  4063228 total,  2933688 free,  1129540 used.  5153128 avail Mem 
    
    • row1:任务队列信息,同 uptime 命令的执行结果
      top - 11:38:01 up 231 days, 2:06, 1 user, load average: 0.88, 0.22, 0.18

      • 11:38:01 (当前系统时间)
      • up 231 days, 2:06(系统运行时间)
      • 1 user (当前登录用户数)
      • load average: 0.88, 0.22, 0.18 (系统的平均负载数,表示 1分钟、5分钟、15分钟到现在的平均数)
    • row2:进程统计信息
      Tasks: 170 total, 1 running, 169 sleeping, 0 stopped, 0 zombie

      • 170 total(系统当前总进程总数)
      • 1 running (正在运行的进程数)
      • 169 sleeping(睡眠进程数)
      • 0 stopped (停止进程数)
      • 0 zombie (僵尸进程数)
    • row3:CPU 统计信息
      %Cpu(s): 38.7 us, 3.5 sy, 0.0 ni, 42.0 id, 15.5 wa, 0.0 hi, 0.3 si, 0.0 st

      • 38.7 us, (用户空间CPU占用率)
      • 3.5 sy (内核空间CPU占用率)
      • 0.0 ni (用户进程空间改变过优先级的进程CPU的占用率)
      • 42.0 id(空闲CPU占有率)
      • 15.5 wa (等待输入输出的CPU时间百分比)
      • 0.0%hi (硬件中断请求)
      • 0.3%si (软件中断请求)
      • 0.0%st (分配给运行在其它虚拟机上的任务的实际 CPU时间)
    • row4:内存状态
      KiB Mem : 8010580 4671188 , 927820 free, 2411572 used, 4671188 buff/cache

      • 4671188 total (物理内存总量 )
      • 2411572 used (已使用的内存 )
      • 927820 free (空闲内存 )
      • 4671188 buffers (内核缓存使用)
        ps:以k为单位
    • row5:swap交换分区信息
      KiB Swap: 4063228 total, 2933688 free, 1129540 used. 5153128 avail Mem

      • 4063228 total (交换分区总量 )
      • 1129540 used (已使用交换分区内存 )
      • 2933688 free (空闲交换分区 )
      • 5153128 cached (缓冲交换区 )

    在这里插入图片描述

    系统进程信息

    • PID :进程id
    • USER :进程所有者的用户名
    • PR :进程优先级
    • NI :nice值。负值表示高优先级,正值表示低优先级
    • VIRT :进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    • RES :进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    • SHR :共享内存大小,单位kb
    • S :进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程
    • %CPU :上次更新到现在的CPU时间占用百分比
    • %MEM :进程使用的物理内存百分比
    • TIME+ :进程使用的CPU时间总计,单位1/100秒
    • COMMAND :进程名称[命令名/命令行]

    在这里插入图片描述

    按“1”键,可打开或关闭显示详细CPU统计信息:
    在这里插入图片描述
    按字母“B”键,可打开或关闭当前进程的显示效果
    在这里插入图片描述
    top -H -p pid,查看进程pid下面的子线程
    在这里插入图片描述

    4、df命令使用

    df命令用于显示磁盘分区上的可使用的磁盘空间。默认显示单位为KB。可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息。

    语法:df(选项)(参数)

    选项:

    -a或–all:包含全部的文件系统;
    –block-size=<区块大小>:以指定的区块大小来显示区块数目;
    -h或–human-readable:以可读性较高的方式来显示信息;
    -H或–si:与-h参数相同,但在计算时是以1000 Bytes为换算单位而非1024 Bytes;
    -i或–inodes:显示inode的信息;
    -k或–kilobytes:指定区块大小为1024字节;
    -l或–local:仅显示本地端的文件系统;
    -m或–megabytes:指定区块大小为1048576字节;
    –no-sync:在取得磁盘使用信息前,不要执行sync指令,此为预设值;
    -P或–portability:使用POSIX的输出格式;
    –sync:在取得磁盘使用信息前,先执行sync指令;
    -t<文件系统类型>或–type=<文件系统类型>:仅显示指定文件系统类型的磁盘信息;
    -T或–print-type:显示文件系统的类型;
    -x<文件系统类型>或–exclude-type=<文件系统类型>:不要显示指定文件系统类型的磁盘信息;
    –help:显示帮助;
    –version:显示版本信息。

    参数:

    文件:指定文件系统上的文件。

    比较常用的有:

    • df -a 查看全部的文件系统
    • df -h查看磁盘使用情况
    • df -i 查看inode使用情况

    在这里插入图片描述
    df -h
    在这里插入图片描述

    5、ps命令使用

    ps命令用于查看进程统计信息

    常用参数:

    • a:显示当前终端下的所有进程信息,包括其他用户的进程。
    • u:使用以用户为主的格式输出进程信息。
    • x:显示当前用户在所有终端下的进程。
    • -e:显示系统内的所有进程信息。
    • -l:使用长(long)格式显示进程信息。
    • -f:使用完整的(full)格式显示进程信息。
    • -T:查看进程下面的子线程

    在使用中可以加上grep命令一起使用,也可以单独使用

    # ps命令单独使用的情况
    ps -elf tomcat
    #结合管道操作和grep命令进行过滤,用于查询某一个进程的信息
    ps -elf | grep tomcat
    

    查看进程下面的子线程可以使用命令ps -T -p pid
    在这里插入图片描述

    6、crontab 命令

    crontab 命令,用于定时程序的命令
    -e : 执行文字编辑器来设定时程表,内定的文字编辑器是 VI,如果你想用别的文字编辑器,则请先设定 VISUAL 环境变数来指定使用那个文字编辑器(比如说 setenv VISUAL joe)
    -r : 删除目前的时程表
    -l : 列出目前的时程表

    二、文件操作

    1、tail查看文件

    tail 命令可用于查看文件的内容,语法为

    tail [param] [filename]
    

    其中param可为:

    • -f :循环读取
    • -q :不显示处理信息
    • -v :显示详细的处理信息
    • -c [数目]: 显示的字节数
    • -n [行数]: 显示文件的尾部 n 行内容
    • –pid=PID :与-f合用,表示在进程ID,PID死掉之后结束
    • -q, --quiet, --silent :从不输出给出文件名的首部
    • -s, --sleep-interval=S :与-f合用,表示在每次反复的间隔休眠S秒

    2、查看文件情况

    ll命令,可以用于查看文件情况,罗列出当前文件或目录的详细信息,含有时间、读写权限、大小、时间等信息。可以理解为 ll 和 ls -ll 的功能是相同的, ll 是ls -ll的别名。

    ll -ah
    

    ls 命令仅罗列出当前文件名或目录名

    ls -ll
    

    3、文件权限设置

    Linux的文件基本权限有9个,分别是owenr、group、others三种身份各自有自己的r、w和x,比如“rwxrwxrwx”,就表示owener具有r(read 读)、w(write 写)、x(execute 访问)权限,同样group和others同样具有r、w、x权限,可以用xftp查看文件权限

    在这里插入图片描述

    可以使用数字表示权限:

    r->4

    w->2

    x->1

    当文件权限为“rwxrwxrwx”时,分数是:

    owner->4+2+1=7

    group->4+2+1=7

    others->4+2+1=7

    此时文件的权限数字就是777

    然后要给文件file赋权的话,就可以使用Linux命令:

    chmod 777 file
    

    owner、group和others三种身份各自的三个权限,用u、g、o代表三种身份,用a(all)代表所有身份,所以还有下面的Linux命令

    chmod u|g|o|a  =(设置权限)|+(添加权限)|-(减少权限)  r|w|x  文件或者目录
    

    eg:给文件file赋值权限

        chmod u=rwx file
    

    4、文件上传下载

    在不使用xftp等linux工具的情况,可以通过linux命令,sz命令是利用ZModem协议来从Linux服务器传送文件到本地,一次可以传送一个或多个文件。

    • 下载文件
      sz命令发送文件到本地:
    sz filename
    

    在这里插入图片描述
    敲命令之后,直接弹出下载保存窗口页面

    • 上传文件
    rz
    

    敲命令之后,直接弹出上传窗口页面
    在这里插入图片描述

    rz、sz命令需要有如下条件:

    • linux系统
    • root权限
    • lrzsz安装包

    lrzsz安装步骤:

    // 编译安装
    //root 账号登陆后,依次执行以下命令:
    tar zxvf lrzsz-0.12.20.tar.gz
    cd lrzsz-0.12.20
    ./configure
    make
    make install
    //上面安装过程默认把lsz和lrz安装到了/usr/local/bin/目录下,现在我们并不能直接使用,下面创建软链接,并命名为rz/sz:
    cd /usr/bin
    ln -s /usr/local/bin/lrz rz
    ln -s /usr/local/bin/lsz sz
    

    Centos可以直接这样安装

    yum install lrzsz -y
    

    5、压缩文件解压

    linux解压zip压缩文件可以用unzip命令,如果没安装,可以先安装

    yum install -y unzip zip
    

    语法一般为:unzip [选项] [压缩文件名]

    • -c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
    • -f 更新现有的文件。
    • -l 显示压缩文件内所包含的文件。
    • -p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
    • -t 检查压缩文件是否正确。
    • -u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
    • -v 执行是时显示详细的信息。
    • -z 仅显示压缩文件的备注文字。
    • -a 对文本文件进行必要的字符转换。
    • -b 不要对文本文件进行字符转换。
    • -C 压缩文件中的文件名称区分大小写。
    • -j 不处理压缩文件中原有的目录路径。
    • -L 将压缩文件中的全部文件名改为小写。
    • -M 将输出结果送到more程序处理。
    • -n 解压缩时不要覆盖原有的文件。
    • -o 不必先询问用户,unzip执行后覆盖原有文件。
    • -P<密码> 使用zip的密码选项。
    • -q 执行时不显示任何信息。
    • -s 将文件名中的空白字符转换为底线字符。
    • -V 保留VMS的文件版本信息。
    • -X 解压缩时同时回存文件原来的UID/GID。
    • [.zip文件] 指定.zip压缩文件。
    • [文件] 指定要处理.zip压缩文件中的哪些文件。
    • -d<目录> 指定文件解压缩后所要存储的目录。
    • -x<文件> 指定不要处理.zip压缩文件中的哪些文件。
    • -Z unzip -Z等于执行zipinfo指令。

    6、查看文件夹大小

    du [选项][文件]
    

    -a或-all 显示目录中个别文件的大小。
    -b或-bytes 显示目录或文件大小时,以byte为单位。
    -c或–total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
    -k或–kilobytes 以KB(1024bytes)为单位输出。
    -m或–megabytes 以MB为单位输出。
    -s或–summarize 仅显示总计,只列出最后加总的值。
    -h或–human-readable 以K,M,G为单位,提高信息的可读性。
    -x或–one-file-xystem 以一开始处理时的文件系统为准,若遇上其它不同的文件系统目录则略过。
    -L<符号链接>或–dereference<符号链接> 显示选项中所指定符号链接的源文件大小。
    -S或–separate-dirs 显示个别目录的大小时,并不含其子目录的大小。
    -X<文件>或–exclude-from=<文件> 在<文件>指定目录或文件。
    –exclude=<目录或文件> 略过指定的目录或文件。
    -D或–dereference-args 显示指定符号链接的源文件大小。
    -H或–si 与-h参数相同,但是K,M,G是以1000为换算单位。
    -l或–count-links 重复计算硬件链接的文件。

    常用命令:
    查看opt目录下面所有文件大小

    du -sh /opt
    

    查看当前目录所有文件

    du -sh *
    

    查看具体文件大小

    [root@localhost ~]# du -sh 文件名.doc
    4.0K	文件名.doc
    

    7、文件数据排序

    sort命令可以用于文件数据排序,然后将排序结果打印出来。

    语法:

    sort [选项] [文件]
    

    常用选项:

    选项含义
    -b忽略每行前面开始出的空格字符
    -c检查文件是否已经按照顺序排序
    -d排序时,处理英文字母、数字及空格字符外,忽略其他的字符
    -f排序时,将小写字母视为大写字母
    -i排序时,除了040至176之间的ASCII字符外,忽略其他的字符
    -m将几个排序号的文件进行合并
    -M将前面3个字母依照月份的缩写进行排序
    -n依照数值的大小排序
    -o<输出文件> 将排序后的结果存入制定的文件
    -r以相反的顺序来排序
    -t<分隔字符> 指定排序时所用的栏位分隔字符
    -k指定需要排序的栏位

    8、去除文件重复行

    使用uniq这个命令只能去除连续的的重复行。所以需要结合sort命令使用,先sort排序,然后uniq去除重复的

    语法:

    uniq [选项] [文件]
    
    选项含义
    -c打印每行在文本中重复出现的次数
    -d只显示有重复的纪录,每个重复纪录只出现一次
    -u只显示没有重复的纪录

    三、网络通信

    1、netstat监控命令

    netstat命令是用于监控进出网络的包和网络接口统计的命令行工具

    语法:netstat [param]
    

    param参数可以为:

    • -h : 查看帮助
    • -r : 显示路由表
    • -i : 查看网络接口

    2、linux重启网络

    设置了linux网络,需要重启网络,可以用命令:

    service network restart 
    

    3、SELinux简介

    SELinux全称是 Security-Enhanced Linux,它是由美国国家安全局(NSA)贡献的,它为 Linux 内核子系统引入了一个健壮的强制控制访问Mandatory Access Control架构。详情可以参考SELinux 入门SELINUX工作原理

    其实SELinux的功能也就是类似于防火墙的功能,不过安全相对比较好,ok,所以本博客介绍一下SELinux的使用命令

    查看selinux状态

    getenforce
    

    临时禁用SELINUX(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

    setenforce
    

    永久禁用SELINUX(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

     # 将SELINUX=enforce改成SELINUX=disabled
     vi /etc/selinux/config
    

    4、防火墙设置

    查询linux系统防火墙开启状态

    firewall-cmd --state
    

    临时关闭防火墙(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

    systemctl stop firewalld.service
    

    永久关闭防火墙(学习用的linux才可以禁用,生产的不建议禁用SELINUX)

    systemctl disable firewalld.service
    

    5、CURL命令使用

    curl命令是一个利用URL规则在shell终端命令行下工作的文件传输工具;curl命令作为一款强力工具,curl支持包括HTTP、HTTPS、ftp等众多协议,还支持POST、cookies、认证、从指定偏移处下载部分文件、用户代理字符串、限速、文件大小、进度条等特征;
    在这里插入图片描述
    语法:语法格式:curl [参数] [网址]

    5.1 查看curl帮助

    • 查看命令参数
      curl的参数很多,可以用命令curl --help查看:
    [root@localhost ~]# curl --help
    

    国内翻译过来的curl文档:curl参数介绍

    5.2 查看curl手册

    • 查看详细使用
      也可以使用curl --manual查看基本用法例子:
      在这里插入图片描述

    5.3 提取指定网页

    • 查看网页源码
      语法:curl uri
    [root@localhost ~]# curl www.baidu.com
    <!DOCTYPE html>
    <!--STATUS OK--><html> <head><meta http-equiv=content-type content=text/html;charset=utf-8><meta http-equiv=X-UA-Compatible content=IE=Edge><meta content=always name=referrer><link rel=stylesheet type=text/css href=http://s1.bdstatic.com/r/www/cache/bdorz/baidu.min.css><title>百度一下,你就知道</title></head> <body link=#0000cc> <div id=wrapper> <div id=head> <div class=head_wrapper> <div class=s_form> <div class=s_form_wrapper> <div id=lg> <img hidefocus=true src=//www.baidu.com/img/bd_logo1.png width=270 height=129> </div> <form id=form name=f action=//www.baidu.com/s class=fm> <input type=hidden name=bdorz_come value=1> <input type=hidden name=ie value=utf-8> <input type=hidden name=f value=8> <input type=hidden name=rsv_bp value=1> <input type=hidden name=rsv_idx value=1> <input type=hidden name=tn value=baidu><span class="bg s_ipt_wr"><input id=kw name=wd class=s_ipt value maxlength=255 autocomplete=off autofocus></span><span class="bg s_btn_wr"><input type=submit id=su value=百度一下 class="bg s_btn"></span> </form> </div> </div> <div id=u1> <a href=http://news.baidu.com name=tj_trnews class=mnav>新闻</a> <a href=http://www.hao123.com name=tj_trhao123 class=mnav>hao123</a> <a href=http://map.baidu.com name=tj_trmap class=mnav>地图</a> <a href=http://v.baidu.com name=tj_trvideo class=mnav>视频</a> <a href=http://tieba.baidu.com name=tj_trtieba class=mnav>贴吧</a> <noscript> <a href=http://www.baidu.com/bdorz/login.gif?login&amp;tpl=mn&amp;u=http%3A%2F%2Fwww.baidu.com%2f%3fbdorz_come%3d1 name=tj_login class=lb>登录</a> </noscript> <script>document.write('<a href="http://www.baidu.com/bdorz/login.gif?login&tpl=mn&u='+ encodeURIComponent(window.location.href+ (window.location.search === "" ? "?" : "&")+ "bdorz_come=1")+ '" name="tj_login" class="lb">登录</a>');</script> <a href=//www.baidu.com/more/ name=tj_briicon class=bri style="display: block;">更多产品</a> </div> </div> </div> <div id=ftCon> <div id=ftConw> <p id=lh> <a href=http://home.baidu.com>关于百度</a> <a href=http://ir.baidu.com>About Baidu</a> </p> <p id=cp>&copy;2017&nbsp;Baidu&nbsp;<a href=http://www.baidu.com/duty/>使用百度前必读</a>&nbsp; <a href=http://jianyi.baidu.com/ class=cp-feedback>意见反馈</a>&nbsp;京ICP证030173号&nbsp; <img src=//www.baidu.com/img/gs.gif> </p> </div> </div> </div> </body> </html>
    
    
    • 显示头信息
    curl -i https://www.baidu.com
    

    打印信息:

    [root@localhost ~]# curl -i https://www.baiud.com
    curl: (7) Failed connect to www.baiud.com:443; Connection refused
    [root@localhost ~]# curl -i https://www.baidu.com
    HTTP/1.1 200 OK
    Accept-Ranges: bytes
    Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    Connection: keep-alive
    Content-Length: 2443
    Content-Type: text/html
    Date: Mon, 13 Jul 2020 07:22:02 GMT
    Etag: "588603eb-98b"
    Last-Modified: Mon, 23 Jan 2017 13:23:55 GMT
    Pragma: no-cache
    Server: bfe/1.0.8.18
    Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
    ...	
    
    • 显示通信过程
    curl -v www.baidu.com
    
    curl -v www.baidu.com
    * About to connect() to www.baidu.com port 80 (#0)
    *   Trying 182.61.200.7...
    * Connected to www.baidu.com (182.61.200.7) port 80 (#0)
    > GET / HTTP/1.1
    > User-Agent: curl/7.29.0
    > Host: www.baidu.com
    > Accept: */*
    > 
    < HTTP/1.1 200 OK
    < Accept-Ranges: bytes
    < Cache-Control: private, no-cache, no-store, proxy-revalidate, no-transform
    < Connection: keep-alive
    < Content-Length: 2381
    < Content-Type: text/html
    < Date: Mon, 13 Jul 2020 07:24:46 GMT
    < Etag: "588604c8-94d"
    < Last-Modified: Mon, 23 Jan 2017 13:27:36 GMT
    < Pragma: no-cache
    < Server: bfe/1.0.8.18
    < Set-Cookie: BDORZ=27315; max-age=86400; domain=.baidu.com; path=/
    < 
    <!DOCTYPE html>
    ...
    
    • 查看议定书
    [root@localhost ~]# curl --trace-ascii output.txt https://www.baidu.com
    
    

    在这里插入图片描述

    在这里插入图片描述

    • 查看时间
    curl --trace-ascii output.txt --trace-time https://www.baidu.com
    

    在这里插入图片描述

    5.4 用curl进行认证

    • referer设置
      referer参数描述了一个网页的来源,可以按F12调试模式,查看:
      在这里插入图片描述
      访问百度时候,加上referer为csdn:
    [root@localhost ~]# curl --referer https://blog.csdn.net https://www.baidu.com
    
    • 用户代理设置
      用户代理常被用于兼容ie,有时,您会看到获取带有curl的页面不会返回与使用浏览器获取页面时看到的页面相同的页面,这时候可以设置用户代理:
    curl www.baidu.com --user-agent "Mozilla/5.0"
    curl www.baidu.com -A "Mozilla/5.0"
    

    5.5 curl文件操作

    • 保存文件
      语法:curl -o filename uri
    [root@localhost ~]# curl -o baidu.html www.baidu.com
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100  2381  100  2381    0     0  22761      0 --:--:-- --:--:-- --:--:-- 22894
    
    

    在这里插入图片描述

    • 文件下载
      语法:curl uri filename --silent|progress
      • –silent:不显示进度条
      • –progress:显示进度条
    [root@localhost ~]# curl https://avatar.csdnimg.cn/3/5/E/1_meituantech_1564971608.jpg -omeituan.jpg --progress
    ######################################################################## 100.0%
    
    

    在这里插入图片描述

    • 上传文件
      语法:  $ curl --form upload=@localfilename --form press=OK [URL]
    [root@localhost ~]# curl --form upload=@baidu.html --form press=OK url
    
    

    5.6 设置cookie

    设置cookie,可以用命令--cookie

    -c cookie-file可以保存服务器返回的cookie到文件,-b cookie-file可以使用这个文件作为cookie信息,进行后续的请求。

    $ curl -c cookies http://example.com
    $ curl -b cookies http://example.com
    
    [root@localhost ~]# curl -c "name=cookiename" www.baidu.com
    
    

    在这里插入图片描述

    也可以用–cookie-jar指定cookie文件

    [root@localhost ~]# curl www.baidu.com --cookie-jar cookie_file
    
    

    在这里插入图片描述
    指定可下载的最大文件大小,可以用命令–limit-rate

    [root@localhost ~]# curl www.baidu.com --limit-rate 50k
    
    

    5.7 RESTFul API

    ps:-H指定请求header,-d指定参数

    • CURL POST:
    [root@localhost ~]# curl -H "Content-Type:application/json" -X POST localhost:9200/company/employees/1 -d '{"id" :1,"name":"admin","password":"123"}'
    
    
    • CURL GET:
    [root@localhost ~]# curl -X GET localhost:9200/company/employees/1?pretty=true
    
    • CURL DELETE:
    [root@localhost ~]# curl -X DELETE localhost:9200/company/employees/1
    
    • CURL PUT:
    curl -H "Content-Type:application/json" -X PUT localhost:9200/company/employees/1 -d '{"id" :1,"name":"admin","password":"111"}'
    

    curl默认是GET方式请求url的,要调POST等接口,必须加上-X参数指定

    比较详细的可以参考:

    四、系统管理

    1、查看内核版本

    uname命令用于查看内核版本
    在这里插入图片描述

    2、查看linux系统ip

    查看linux的ip地址:可以用命令

     ip addr
    

    3、查看ip是否被占用

    lsof -i:8080
    

    4、uptime命令使用

    uptime命令能够打印系统总共运行了多长时间和系统的平均负载。uptime命令可以显示的信息显示依次为:现在时间、系统已经运行了多长时间、目前有多少登陆用户、系统在过去的1分钟、5分钟和15分钟内的平均负载。

    用help参数参数

    [shared@localhost~]$ uptime --help
    
    Usage:
     uptime [options]
    
    Options:
     -p, --pretty   show uptime in pretty format 
     -h, --help     display this help and exit 
     -s, --since    system up since 
     -V, --version  output version information and exit
    
    For more details see uptime(1).
    [shared@localhost~]$ uptime -V
    uptime from procps-ng 3.3.10
    
    

    Options:

    • -p, --pretty show uptime in pretty format //比较美观的打印
    • -h, --help display this help and exit // 查看参数帮助
    • -s, --since system up since // 查看系统当前时间
    • -V, --version output version information and exit // 查看版本

    在这里插入图片描述

    5、telnet命令使用

    不管在window还是linux系统要校验某台服务器是否可以ping通,都可以使用命令,如果要加上断口的,linux可以使用telnet命令
    语法:telnet ip port

    telnet 127.0.0.1 8080
    

    6、查看系统当前登录用户

    可以使用w命令:

    [root@localhost ~]# w 
    

    下面列举主要的

    选项含义
    -h不显示输出信息的标题
    -l用长格式输出
    -s用短格式输出,不显示登陆时间,JCPU 和 PCPU 时间
    -V显示版本信息
    只显示某个用户的信息
    [root@localhost ~]# w [选项] [用户名]
    

    ps:切换用户可以使用命令su root进行系统用户切换

    附录:

    微信打赏
    在这里插入图片描述
    技术博客公众号
    在这里插入图片描述
    QQ群:1129337987

    展开全文
  • MYSQL常用命令: mysql> select version(); 查看MySQL的版本号 mysql> select current_date(); 查看MySQL的当前日期 mysql> select version(),current_date(); 同时查看MySQL的版本号和当前日期 mysql> show ...
  • 学习如何管理和导航MySQL数据库和表是要掌握的首要任务之一,下面的内容将主要对MySQL的数据库和表的一些常用命令进行总结,一些我们不得不掌握的命令,一些信手拈来的命令。 一、处理数据库 1、查看数据库 获取...
  • show和set命令是两条用于维护SQL*Plus系统变量的命令
  • 主要介绍了MySQL中使用show profile命令分析性能的用法整理,show profiles是数据库性能优化的常用命令,需要的朋友可以参考下
  • 计算机二级考试MySQL知识点基础篇,MYSQL常用命令,具体如下 常用MYSQL命令(将计算机二级站点加入收藏夹)  启动:net start mySql;  进入:mysql -u root -p/mysql -h localhost -u root -p databaseName;  ...
  • MySQL常用DDL操作命令

    2020-12-14 17:42:20
    数据库操作的常用的DDL命令 表操作的常用的DDL命令 数据库操作的常用DDL命令 创建数据库: CREATE DATABASES [if not exists] db_name [character set xxx] 注解: db_name:数据库名 if not exists:表示数据库不...
  • MySql 常用命令集  Mysql常用命令  show databases; 显示数据库  create database name; 创建数据库  use databasename; 选择数据库  drop database name 直接删除数据库,不提醒  show ...
    MySql 常用命令集

      Mysql常用命令

      show databases; 显示数据库

      create database name; 创建数据库

      use databasename; 选择数据库

      drop database name 直接删除数据库,不提醒

      show tables; 显示表

      describe tablename; 显示具体的表结构

      select 中加上distinct去除重复字段

      mysqladmin drop databasename 删除数据库前,有提示。

      显示当前mysql版本和当前日期

      select version(),current_date;

      修改mysql中root的密码:

      shell>mysql -h localhost -u root -p //登录

      mysql> update user set password=password("xueok654123") where user='root';

      mysql> flush privileges //刷新数据库

      mysql>use dbname; 打开数据库:

      mysql>show databases; 显示所有数据库

      mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后

      mysql>describe user; 显示表mysql数据库中user表的列信息);

      grant

      创建用户firstdb(密码firstdb)和数据库,并赋予权限于firstdb数据库

      mysql> create database firstdb;

      mysql> grant all on firstdb.* to firstdb identified by 'firstdb'

      会自动创建用户firstdb

      mysql默认的是本地主机是localhost,对应的IP地址就是127.0.0.1,所以你用你的IP地址登录会出错,如果你想用你的IP地址登录就要先进行授权用grant命令。

      mysql>grant all on *.* to root@202.116.39.2 identified by "123456";

      说明:grant 与on 之间是各种权限,例如:insert,select,update等

      on 之后是数据库名和表名,第一个*表示所有的数据库,第二个*表示所有的表

      root可以改成你的用户名,@后可以跟域名或IP地址,identified by 后面的是登录用的密码,可以省略,即缺省密码或者叫空密码。

      drop database firstdb;

      创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个

      mysql> grant all privileges on *.* to user@localhost identified by 'something' with

      增加新用户

      格式:grant select on 数据库.* to 用户名@登录主机 identified by "密码"

      GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY 'something' WITH GRANT OPTION;

      GRANT ALL PRIVILEGES ON *.* TO monty@"%" IDENTIFIED BY 'something' WITH GRANT OPTION;

      删除授权:

      mysql> revoke all privileges on *.* from root@"%";

      mysql> delete from user where user="root" and host="%";

      mysql> flush privileges;

      创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb

      mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ' passwd'

      重命名表:

      mysql > alter table t1 rename t2;

      mysqldump

      备份数据库

      shell> mysqldump -h host -u root -p dbname >dbname_backup.sql

      恢复数据库

      shell> mysqladmin -h myhost -u root -p create dbname

      shell> mysqldump -h host -u root -p dbname < dbname_backup.sql

      如果只想卸出建表指令,则命令如下:

      shell> mysqladmin -u root -p -d databasename > a.sql

      如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:

      shell> mysqladmin -u root -p -t databasename > a.sql

      那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢 

      mysqldump -T./ phptest driver

      其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。

      可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql 中存放有查

      询,可如下执行这些查询:

      例如,如果您想将建表语句提前写在sql.txt中,

      mysql > mysql -h myhost -u root -p

      Mysql5.0支持的字符集

      MySQL中的字符集控制做得比较细,可以分为数据库级,表级, 字段级(这一点和ORACLE不同)。我上次改的字符集是数据库级的,对表sysuser没有影响,所以出现了改了字符集却一样无法插入中文的情况。

      Drop TABLE IF EXISTS `firstdb`.`users`;

      Create TABLE `firstdb`.`users` (

      `id` int(11) NOT NULL auto_increment,

      `username` varchar(40) default NULL,

      `birthday` date default NULL,

      PRIMARY KEY (`id`)

      ) ENGINE=InnoDB DEFAULT CHARSET=gb2312;

      编译 MySQL 时,指定了一个默认的字符集,这个字符集是 latin1;

      安装 MySQL 时,可以在配置文件 (my.ini) 中指定一个默认的的字符集,如果没指定,这个值继承自编译时指定的;

      启动 mysqld 时,可以在命令行参数中指定一个默认的的字符集,如果没指定,这个值继承自配置文件中的;

      此时 character_set_server 被设定为这个默认的字符集;

      当创建一个新的数据库时,除非明确指定,这个数据库的字符集被缺省设定为    character_set_server;

      当选定了一个数据库时,character_set_database 被设定为这个数据库默认的字符集;

      在这个数据库里创建一张表时,表默认的字符集被设定为 character_set_database,也就是这个数据库默认的字符集;

      当在表内设置一栏时,除非明确指定,否则此栏缺省的字符集就是表默认的字符集;

      这个字符集就是数据库中实际存储数据采用的字符集,mysqldump 出来的内容就是这个字符集下的;Query Browser1.1 对中文输入的支持太差劲了,可以用notebook写好后,再copy过去执行

      update firstdb.users set username='以' where id=3;

      MYSQL 常用命令

      1.导出整个数据库

      mysqldump -u 用户名 -p --default-character-set=latin1 数据库名 > 导出的

      文件名(数据库默认编码是latin1)

      mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql

      2.导出一个表

      mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名

      mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql

      3.导出一个数据库结构

      mysqldump -u wcnc -p -d -add-drop-table smgp_apps_wcnc >d:wcnc_db.sql

      -d 没有数据 -add-drop-table 在每个create语句之前增加一个drop table

      4.导入数据库

      A:常用source 命令

      进入mysql数据库控制台,

      如mysql -u root -p

      mysql>use 数据库

      然后使用source命令,后面参数为脚本文件(如这里用到的.sql)

      mysql>source wcnc_db.sql

      B:使用mysqldump命令

      mysqldump -u username -p dbname < filename.sql

      C:使用mysql命令

      mysql -u username -p -D dbname < filename.sql

      一、启动与退出

      1、进入MySQL:启动MySQL Command Line Client(MySQL的DOS界面),直接输入

      安装时的密码即可。此时的提示符是:mysql>

      2、退出MySQL:quit或exit

      二、库操作

      1、、创建数据库

      命令:create database <数据库名>

      例如:建立一个名为xhkdb的数据库

      mysql> create database xhkdb;

      2、显示所有的数据库

      命令:show databases (注意:最后有个s)

      mysql> show databases;

      3、删除数据库

      命令:drop database <数据库名>

      例如:删除名为 xhkdb的数据库

      mysql> drop database xhkdb;

      4、连接数据库

      命令: use <数据库名>

      例如:如果xhkdb数据库存在,尝试存取它:

      mysql> use xhkdb;

      屏幕提示:Database changed

      5、查看当前使用的数据库

      mysql> select database();

      6、当前数据库包含的表信息:

      mysql> show tables; (注意:最后有个s)

      三、表操作,操作之前应连接某个数据库

      1、建表

      命令:create table <表名> ( <字段名1> <类型1> [,..<字段名n> <类型n>]);

      mysql> create table MyClass(

      > id int(4) not null primary key auto_increment,

      > name char(20) not null,

      > sex int(4) not null default '0',

      > degree double(16,2));

      2、获取表结构

      命令: desc 表名,或者show columns from 表名

      mysql>DESCRIBE MyClass

      mysql> desc MyClass;

      mysql> show columns from MyClass;

      3、删除表

      命令:drop table <表名>

      例如:删除表名为 MyClass 的表

      mysql> drop table MyClass;

      4、插入数据

      命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[,

      ( 值n )]

      例如,往表 MyClass中插入二条记录, 这二条记录表示:编号为1的名为Tom的成绩

      为96.45, 编号为2 的名为Joan 的成绩为82.99,编号为3 的名为Wang 的成绩为

      96.5.

      mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99),

      (2,'Wang', 96.59);

      5、查询表中的数据

      1)、查询所有行

      命令: select <字段1,字段2,...> from < 表名 > where < 表达式 >

      例如:查看表 MyClass 中所有数据

      mysql> select * from MyClass;

      2)、查询前几行数据

      例如:查看表 MyClass 中前2行数据

      mysql> select * from MyClass order by id limit 0,2;

      或者:

      mysql> select * from MyClass limit 0,2;

      6、删除表中数据

      命令:delete from 表名 where 表达式

      例如:删除表 MyClass中编号为1 的记录

      mysql> delete from MyClass where id=1;

      7、修改表中数据:update 表名 set 字段=新值,… where 条件

      mysql> update MyClass set name='Mary' where id=1;

      7、在表中增加字段:

      命令:alter table 表名 add字段 类型 其他;

      例如:在表MyClass中添加了一个字段passtest,类型为int(4),默认值为0

      mysql> alter table MyClass add passtest int(4) default '0'

      8、更改表名:

      命令:rename table 原表名 to 新表名;

      例如:在表MyClass名字更改为YouClass

      mysql> rename table MyClass to YouClass;

      更新字段内容

      update 表名 set 字段名 = 新内容

      update 表名 set 字段名 = replace(字段名,'旧内容','新内容');

      文章前面加入4个空格

      update article set content=concat('  ',content);

      字段类型

      1.INT[(M)] 型: 正常大小整数类型

      2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(双精密)浮点数字类型

      3.DATE 日期类型:支持的范围是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD

      格式来显示DATE值,但是允许你使用字符串或数字把值赋给DATE列

      4.CHAR(M) 型:定长字符串类型,当存储时,总是是用空格填满右边到指定的长

      度

      5.BLOB TEXT类型,最大长度为65535(2^16-1)个字符。

      6.VARCHAR型:变长字符串类型

      5.导入数据库表

      (1)创建.sql文件

      (2)先产生一个库如auction.c:mysqlbin>mysqladmin -u root -p creat

      auction,会提示输入密码,然后成功创建。

      (2)导入auction.sql文件

      c:mysqlbin>mysql -u root -p auction < auction.sql。

      通过以上操作,就可以创建了一个数据库auction以及其中的一个表auction

      。

      6.修改数据库

      (1)在mysql的表中增加字段:

      alter table dbname add column userid int(11) not null primary key

      auto_increment;

      这样,就在表dbname中添加了一个字段userid,类型为int(11)。

      7.mysql数据库的授权

      mysql>grant select,insert,delete,create,drop

      on *.* (或test.*/user.*/..)

      to 用户名@localhost

      identified by '密码';

      如:新建一个用户帐号以便可以访问数据库,需要进行如下操作:

      mysql> grant usage

      -> ON test.*

      -> TO testuser@localhost;

      Query OK, 0 rows affected (0.15 sec)

      此后就创建了一个新用户叫:testuser,这个用户只能从localhost连接到数

      据库并可以连接到test 数据库。下一步,我们必须指定testuser这个用户可以执

      行哪些操作:

      mysql> GRANT select, insert, delete,update

      -> ON test.*

      -> TO testuser@localhost;

      Query OK, 0 rows affected (0.00 sec)

      此操作使testuser能够在每一个test数据库中的表执行Select,Insert和

      Delete以及Update查询操作。现在我们结束操作并退出MySQL客户程序:

      mysql> exit

      Bye9!

      1:使用SHOW语句找出在服务器上当前存在什么数据库:

      mysql> SHOW DATABASES;

      2:2、创建一个数据库MYSQLDATA

      mysql> Create DATABASE MYSQLDATA;

      3:选择你所创建的数据库

      mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)

      4:查看现在的数据库中存在什么表

      mysql> SHOW TABLES;

      5:创建一个数据库表

      mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

      6:显示表的结构:

      mysql> DESCRIBE MYTABLE;

      7:往表中加入记录

      mysql> insert into MYTABLE values ("hyq","M");

      8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)

      mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

      9:导入.sql文件命令(例如D:/mysql.sql)

      mysql>use database;

      mysql>source d:/mysql.sql;

      10:删除表

      mysql>drop TABLE MYTABLE;

      11:清空表

      mysql>delete from MYTABLE;

      12:更新表中数据

      mysql>update MYTABLE set sex="f" where name='hyq';

      以下是无意中在网络看到的使用MySql的管理心得,

      摘

      自:

      html

      在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用

      net start mysql命令启动。而Linux中启动时可用"/etc/rc.d/init.d/mysqld

      start"命令,注意启动者应具有管理员权限。

      刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全

      隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除

      、 root帐户设置密码,可用如下命令进行:

      use mysql;

      delete from User where User="";

      update User set Password=PASSWORD('newpassword') where User='root';

      如果要对用户所用的登录终端进行限制,可以更新User表中相应用户的Host字段,

      在进行了以上更改后应重新启动数据库服务,此时登录时可用如下类似命令:

      mysql -uroot -p;

      mysql -uroot -pnewpassword;

      mysql mydb -uroot -p;

      mysql mydb -uroot -pnewpassword;

      上面命令参数是常用参数的一部分,详细情况可参考文档。此处的mydb是要登录的

      数据库的名称。

      在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用

      root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的

      提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据

      插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过 User表来实现的

      ,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应

      的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下

      :

      grant all on mydb.* to NewUserName@HostName identified by "password" ;

      grant usage on *.* to NewUserName@HostName identified by "password";

      grant select,insert,update on mydb.* to NewUserName@HostName identified

      by "password";

      grant update,delete on mydb.TestTable to NewUserName@HostName identified

      by "password";

      若要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH

      GRANT OPTION选项。而对于用插入User表添加的用户,Password字段应用PASSWORD

      函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除

      ,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段,也可

      以使用REVOKE操作。

      下面给出本人从其它资料()获得的对常用权限的解释:

      全局管理权限:

      FILE: 在MySQL服务器上读写文件。

      PROCESS: 显示或杀死属于其它用户的服务线程。

      RELOAD: 重载访问控制表,刷新日志等。

      SHUTDOWN: 关闭MySQL服务。

      数据库/数据表/数据列权限:

      Alter: 修改已存在的数据表(例如增加/删除列)和索引。

      Create: 建立新的数据库或数据表。

      Delete: 删除表的记录。

      Drop: 删除数据表或数据库。

      INDEX: 建立或删除索引。

      Insert: 增加表的记录。

      Select: 显示/搜索表的记录。

      Update: 修改表中已存在的记录。

      特别的权限:

      ALL: 允许做任何事(和root一样)。

      USAGE: 只允许登录--其它什么也不允许做。

      ---------------------

      MYSQL常用命令

      有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从连接

      MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。

      有很多朋友虽然安装好了mysql但却不知如何使用它。在这篇文章中我们就从

      连接MYSQL、修改密码、增加用户等方面来学习一些MYSQL的常用命令。

      一、连接MYSQL

      格式: mysql -h主机地址 -u用户名 -p用户密码

      1、例1:连接到本机上的MYSQL

      首先在打开DOS窗口,然后进入目录 mysqlbin,再键入命令mysql -uroot -p

      ,回车后提示你输密码,如果刚安装好MYSQL,超级用户root是没有密码的,故直

      接回车即可进入到MYSQL中了,MYSQL的提示符是:mysql>

      2、例2:连接到远程主机上的MYSQL

      假设远程主机的IP为:110.110.110.110,用户名为root,密码为abcd123。则

      键入以下命令:

      mysql -h110.110.110.110 -uroot -pabcd123

      (注:u与root可以不用加空格,其它也一样)

      3、退出MYSQL命令: exit (回车)

      二、修改密码

      格式:mysqladmin -u用户名 -p旧密码 password 新密码

      1、例1:给root加个密码ab12。首先在DOS下进入目录mysqlbin,然后键入以

      下命令

      mysqladmin -uroot -password ab12

      注:因为开始时root没有密码,所以-p旧密码一项就可以省略了。

      2、例2:再将root的密码改为djg345

      mysqladmin -uroot -pab12 password djg345

      MYSQL常用命令(下)

      一、操作技巧

      1、如果你打命令时,回车后发现忘记加分号,你无须重打一遍命令,只要打

      个分号回车就可以了。也就是说你可以把一个完整的命令分成几行来打,完后用分

      号作结束标志就OK。

      2、你可以使用光标上下键调出以前的命令。但以前我用过的一个MYSQL旧版本

      不支持。我现在用的是mysql-3.23.27-beta-win。

      二、显示命令

      1、显示数据库列表。

      show databases;

      刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统

      信息,我们改密码和新增用户,实际上就是用这个库进行操作。

      2、显示库中的数据表:

      use mysql; //打开库,学过FOXBASE的一定不会陌生吧

      show tables;

      3、显示数据表的结构:

      describe 表名;

      4、建库:

      create database 库名;

      5、建表:

      use 库名;

      create table 表名 (字段设定列表);

      6、删库和删表:

      drop database 库名;

      drop table 表名;

      7、将表中记录清空:

      delete from 表名;

      8、显示表中的记录:

      select * from 表名;

      三、一个建库和建表以及插入数据的实例

      drop database if exists school; //如果存在SCHOOL则删除

      create database school; //建立库SCHOOL

      use school; //打开库SCHOOL

      create table teacher //建立表TEACHER

      (

      id int(3) auto_increment not null primary key,

      name char(10) not null,

      address varchar(50) default '深圳',

      year date

      ); //建表结束

      //以下为插入字段

      insert into teacher values('','glchengang','深圳一中','1976-10-10');

      insert into teacher values('','jack','深圳一中','1975-12-23');

      注:在建表中(1)将ID设为长度为3的数字字段:int(3)并让它每个记录自动

      加一:auto_increment并不能为空:not null而且让他成为主字段primary key

      (2)将NAME设为长度为10的字符字段

      (3)将ADDRESS设为长度50的字符字段,而且缺省值为深圳。varchar和char

      有什么区别呢,只有等以后的文章再说了。

      (4)将YEAR设为日期字段。

      如果你在mysql提示符键入上面的命令也可以,但不方便调试。你可以将以上

      命令原样写入一个文本文件中假设为school.sql,然后复制到c:\下,并在DOS状态

      进入目录\mysql\bin,然后键入以下命令:

      mysql -uroot -p密码 < c:\school.sql

      如果成功,空出一行无任何显示;如有错误,会有提示。(以上命令已经调试

      ,你只要将//的注释去掉即可使用)。

      四、将文本数据转到数据库中

      1、文本数据应符合的格式:字段数据之间用tab键隔开,null值用\n来代替.

      例:

      3 rose 深圳二中 1976-10-10

      4 mike 深圳一中 1975-12-23

      2、数据传入命令 load data local infile "文件名" into table 表名;

      注意:你最好将文件复制到\mysql\bin目录下,并且要先用use命令打表所在

      的库 。

      五、备份数据库:(命令在DOS的\mysql\bin目录下执行)

      mysqldump --opt school>school.bbb

      注释:将数据库school备份到school.bbb文件,school.bbb是一个文本文件,

      文件名任取,打开看看你会有新发现。

      一.Select语句的完整语法为:

      Select[ALL|DISTINCT|DISTINCTROW|TOP]

      {*|talbe.*|[table.]field1[AS alias1][,[table.]field2[AS alias2][,…]]}

      FROM tableexpression[,…][IN externaldatabase]

      [Where…]

      [GROUP BY…]

      [HAVING…]

      [ORDER BY…]

      [WITH OWNERACCESS OPTION]

      说明:

      用中括号([])括起来的部分表示是可选的,用大括号({})括起来的部分是表示必须

      从中选择其中的一个。

      1 FROM子句

      FROM 子句指定了Select语句中字段的来源。FROM子句后面是包含一个或多个的表

      达式(由逗号分开),其中的表达式可为单一表名称、已保存的查询或由 INNER

      JOIN、LEFT JOIN 或 RIGHT JOIN 得到的复合结果。如果表或查询存储在外部数据

      库,在IN 子句之后指明其完整路径。

      例:下列SQL语句返回所有有定单的客户:

      Select orderID,Customer.customerID

      FROM orders Customers

      Where orders.CustomerID=Customers.CustomeersID

      2 ALL、DISTINCT、DISTINCTROW、TOP谓词

      (1) ALL 返回满足SQL语句条件的所有记录。如果没有指明这个谓词,默认为ALL。

      例:Select ALL FirstName,LastName

      FROM Employees

      (2) DISTINCT 如果有多个记录的选择字段的数据相同,只返回一个。

      (3) DISTINCTROW 如果有重复的记录,只返回一个

      (4) TOP显示查询头尾若干记录。也可返回记录的百分比,这是要用 TOP N

      PERCENT子句(其中N 表示百分比)

      例:返回5%定货额最大的定单

      Select TOP 5 PERCENT*

      FROM [ order Details]

      orDER BY UnitPrice*Quantity*(1-Discount) DESC

      3 用 AS 子句为字段取别名

      如果想为返回的列取一个新的标题,或者,经过对字段的计算或总结之后,产生了

      一个新的值,希望把它放到一个新的列里显示,则用AS保留。

      例:返回FirstName字段取别名为NickName

      Select FirstName AS NickName ,LastName ,City

      FROM Employees

      例:返回新的一列显示库存价值

      Select ProductName ,UnitPrice ,UnitsInStock ,UnitPrice*UnitsInStock AS

      valueInStock

      FROM Products

      二 .Where 子句指定查询条件

      1 比较运算符

      比较运算符 含义

      = 等于

      > 大于

      < 小于

      >= 大于等于

      <= 小于等于

      $amp;<amp;$gt; 不等于<="" p="" style="margin: 0px; padding: 0px; list-style: none;">

      !> 不大于

      !< 不小于

      例:返回96年1月的定单

      Select orderID, CustomerID, orderDate

      FROM orders

      Where orderDate>#1/1/96# AND orderDate<#1/30/96#

      注意:

      Mcirosoft JET SQL 中,日期用'#'定界。日期也可以用Datevalue()函数来代替。

      在比较字符型的数据时,要加上单引号'',尾空格在比较中被忽略。

      例:

      Where orderDate>#96-1-1#

      也可以表示为:

      Where orderDate>Datevalue('1/1/96')

      使用 NOT 表达式求反。

      例:查看96年1月1日以后的定单

      Where Not orderDate<=#1/1/96#

      2 范围(BETWEEN 和 NOT BETWEEN)

      BETWEEN …AND…运算符指定了要搜索的一个闭区间。

      例:返回96年1月到96年2月的定单。

      Where orderDate Between #1/1/96# And #2/1/96#

      3 列表(IN ,NOT IN)

      IN 运算符用来匹配列表中的任何一个值。IN子句可以代替用OR子句连接的一连串

      的条件。

      例:要找出住在 London、Paris或Berlin的所有客户

      Select CustomerID, CompanyName, ContactName, City

      FROM Customers

      Where City In('London',' Paris',' Berlin')

      4 模式匹配(LIKE)

      LIKE运算符检验一个包含字符串数据的字段值是否匹配一指定模式。

      LIKE运算符里使用的通配符

      通配符 含义

      任何一个单一的字符

      * 任意长度的字符

      # 0~9之间的单一数字

      [字符列表] 在字符列表里的任一值

      [!字符列表] 不在字符列表里的任一值

      - 指定字符范围,两边的值分别为其上下限

      例:返回邮政编码在(171)555-0000到(171)555-9999之间的客户

      Select CustomerID ,CompanyName,City,Phone

      FROM Customers

      Where Phone Like '(171)555-####'

      LIKE运算符的一些样式及含义

      样式 含义 不符合

      LIKE 'A*' A后跟任意长度的字符 Bc,c255

      LIKE'5[*]' 5*5 555

      LIKE'5 5' 5与5之间有任意一个字符 55,5wer5

      LIKE'5##5' 5235,5005 5kd5,5346

      LIKE'[a-z]' a-z间的任意一个字符 5,%

      LIKE'[!0-9]' 非0-9间的任意一个字符 0,1

      LIKE'[[]' 1,*

      三 .用ORDER BY子句排序结果

      orDER子句按一个或多个(最多16个)字段排序查询结果,可以是升序(ASC)也可

      以是降序(DESC),缺省是升序。ORDER子句通常放在SQL语句的最后。

      orDER子句中定义了多个字段,则按照字段的先后顺序排序。

      例:

      Select ProductName,UnitPrice, UnitInStock

      FROM Products

      orDER BY UnitInStock DESC , UnitPrice DESC, ProductName

      orDER BY 子句中可以用字段在选择列表中的位置号代替字段名,可以混合字段名

      和位置号。

      例:下面的语句产生与上列相同的效果。

      Select ProductName,UnitPrice, UnitInStock

      FROM Products

      orDER BY 1 DESC , 2 DESC,3

      四 .运用连接关系实现多表查询

      例:找出同一个城市中供应商和客户的名字

      Select Customers.CompanyName, Suppliers.ComPany.Name

      FROM Customers, Suppliers

      Where Customers.City=Suppliers.City

      例:找出产品库存量大于同一种产品的定单的数量的产品和定单

      Select ProductName,OrderID, UnitInStock, Quantity

      FROM Products, [Order Deails]

      Where Product.productID=[Order Details].ProductID

      AND UnitsInStock>Quantity

      另一种方法是用 Microsof JET SQL 独有的 JNNER JOIN

      语法:

      FROM table1 INNER JOIN table2

      ON table1.field1 comparision table2.field2

      其中comparision 就是前面Where子句用到的比较运算符。

      Select FirstName,lastName,OrderID,CustomerID,OrderDate

      FROM Employees

      INNER JOIN orders ON Employees.EmployeeID=Orders.EmployeeID

      注意:

      INNER JOIN不能连接Memo OLE Object Single Double 数据类型字段。

      在一个JOIN语句中连接多个ON子句

      语法:

      Select fields

      FROM table1 INNER JOIN table2

      ON table1.field1 compopr table2.field1 AND

      ON table1.field2 compopr table2.field2 or

      ON table1.field3 compopr table2.field3

      也可以

      Select fields

      FROM table1 INNER JOIN

      (table2 INNER JOIN [( ]table3

      [INNER JOER] [( ]tablex[INNER JOIN]

      ON table1.field1 compopr table2.field1

      ON table1.field2 compopr table2.field2

      ON table1.field3 compopr table2.field3

      外部连接返回更多记录,在结果中保留不匹配的记录,不管存不存在满足条件的记

      录都要返回另一侧的所有记录。

      FROM table [LEFT|RIGHT]JOIN table2

      ON table1.field1comparision table.field2

      用左连接来建立外部连接,在表达式的左边的表会显示其所有的数据

      例:不管有没有定货量,返回所有商品

      Select ProductName ,OrderID

      FROM Products

      LEFT JOIN orders ON Products.PrductsID=Orders.ProductID

      右连接与左连接的差别在于:不管左侧表里有没有匹配的记录,它都从左侧表中返

      回所有记录。

      例:如果想了解客户的信息,并统计各个地区的客户分布,这时可以用一个右连接

      ,即使某个地区没有客户,也要返回客户信息。

      空值不会相互匹配,可以通过外连接才能测试被连接的某个表的字段是否有空值。

      Select *

      FROM talbe1

      LEFT JOIN table2 ON table1.a=table2.c

      1 连接查询中使用Iif函数实现以0值显示空值

      Iif表达式: Iif(IsNull(Amount,0,Amout)

      例:无论定货大于或小于¥50,都要返回一个标志。

      Iif([Amount]>50, Big order , Small order )

      五. 分组和总结查询结果

      在SQL的语法里,GROUP BY和HAVING子句用来对数据进行汇总。GROUP BY子句指明

      了按照哪几个字段来分组,而将记录分组后,用HAVING子句过滤这些记录。

      GROUP BY 子句的语法

      Select fidldlist

      FROM table

      Where criteria

      [GROUP BY groupfieldlist [HAVING groupcriteria]]

      注:Microsoft Jet数据库 Jet 不能对备注或OLE对象字段分组。

      GROUP BY字段中的Null值以备分组但是不能被省略。

      在任何SQL合计函数中不计算Null值。

      GROUP BY子句后最多可以带有十个字段,排序优先级按从左到右的顺序排列。

      例:在'WA'地区的雇员表中按头衔分组后,找出具有同等头衔的雇员数目大于1人

      的所有头衔。

      Select Title ,Count(Title) as Total

      FROM Employees

      Where Region = 'WA'

      GROUP BY Title

      HAVING Count(Title)>1

      JET SQL 中的聚积函数

      聚集函数 意义

      SUM ( ) 求和

      AVG ( ) 平均值

      COUNT ( ) 表达式中记录的数目

      COUNT (* ) 计算记录的数目

      MAX 最大值

      MIN 最小值

      VAR 方差

      STDEV 标准误差

      FIRST 第一个值

      LAST 最后一个值

      六. 用Parameters声明创建参数查询

      Parameters声明的语法:

      PARAMETERS name datatype[,name datatype[, …]]

      其中name 是参数的标志符,可以通过标志符引用参数.

      Datatype说明参数的数据类型.

      使用时要把PARAMETERS 声明置于任何其他语句之前.

      例:

      PARAMETERS[Low price] Currency,[Beginning date]datatime

      Select orderID ,OrderAmount

      FROM orders

      Where orderAMount>[low price]

      AND orderDate>=[Beginning date]

      七. 功能查询

      所谓功能查询,实际上是一种操作查询,它可以对数据库进行快速高效的操作.它以

      选择查询为目的,挑选出符合条件的数据,再对数据进行批处理.功能查询包括更新

      查询,删除查询,添加查询,和生成表查询.

      1 更新查询

      Update子句可以同时更改一个或多个表中的数据.它也可以同时更改多个字段的值.

      更新查询语法:

      Update 表名

      SET 新值

      Where 准则

      例:英国客户的定货量增加5%,货运量增加3%

      Update OEDERS

      SET orderAmount = orderAmount *1.1

      Freight = Freight*1.03

      Where ShipCountry = 'UK'

      2 删除查询

      Delete子句可以使用户删除大量的过时的或冗于的数据.

      注:删除查询的对象是整个记录.

      Delete子句的语法:

      Delete [表名.*]

      FROM 来源表

      Where 准则

      例: 要删除所有94年前的定单

      Delete *

      FROM orders

      Where orderData<#94-1-1#

      3 追加查询

      Insert子句可以将一个或一组记录追加到一个或多个表的尾部.

      INTO 子句指定接受新记录的表

      valueS 关键字指定新记录所包含的数据值.

      Insert 子句的语法:

      INSETR INTO 目的表或查询(字段1,字段2,…)

      valueS(数值1,数值2,…)

      例:增加一个客户

      Insert INTO Employees(FirstName,LastName,title)

      valueS('Harry','Washington','Trainee')

      4 生成表查询

      可以一次性地把所有满足条件的记录拷贝到一张新表中.通常制作记录的备份或副

      本或作为报表的基础.

      Select INTO子句用来创建生成表查询语法:

      Select 字段1,字段2,…

      INTO 新表[IN 外部数据库]

      FROM 来源数据库

      Where 准则

      例:为定单制作一个存档备份

      Select *

      INTO ordersArchive

      FROM orders

      八. 联合查询

      UNION运算可以把多个查询的结果合并到一个结果集里显示.

      UNION运算的一般语法:

      [表]查询1 UNION [ALL]查询2 UNION …

      例:返回巴西所有供给商和客户的名字和城市

      Select CompanyName,City

      FROM Suppliers

      Where Country = 'Brazil'

      UNION

      Select CompanyName,City

      FROM Customers

      Where Country = 'Brazil'

      注:

      缺省的情况下,UNION子句不返回重复的记录.如果想显示所有记录,可以加ALL选项

      UNION运算要求查询具有相同数目的字段.但是,字段数据类型不必相同.

      每一个查询参数中可以使用GROUP BY 子句 或 HAVING 子句进行分组.要想以指定

      的顺序来显示返回的数据,可以在最后一个查询的尾部使用OREER BY子句.

      九. 交叉查询

      交叉查询可以对数据进行总和,平均,计数或其他总和计算法的计算,这些数据通过

      两种信息进行分组:一个显示在表的左部,另一个显示在表的顶部.

      Microsoft Jet SQL 用TRANSFROM语句创建交叉表查询语法:

      TRANSFORM aggfunction

      Select 语句

      GROUP BY 子句

      PIVOT pivotfield[IN(value1 [,value2[,…]]) ]

      Aggfounction指SQL聚积函数,

      Select语句选择作为标题的的字段,

      GROUP BY 分组

      说明:

      Pivotfield 在查询结果集中创建列标题时用的字段或表达式,用可选的IN子句限制

      它的取值.

      value代表创建列标题的固定值.

      例:显示在1996年里每一季度每一位员工所接的定单的数目:

      TRANSFORM Count(OrderID)

      Select FirstName&''&LastName AS FullName

      FROM Employees INNER JOIN orders

      ON Employees.EmployeeID = orders.EmployeeID

      Where DatePart("yyyy",OrderDate)= '1996'

      GROUP BY FirstName&''&LastName

      orDER BY FirstName&''&LastName

      POVOT DatePart("q",OrderDate)&'季度'

      十 .子查询

      子查询可以理解为 套查询.子查询是一个Select语句.

      1 表达式的值与子查询返回的单一值做比较

      语法:

      表达式 comparision [ANY|ALL|SOME](子查询)

      说明:

      ANY 和SOME谓词是同义词,与比较运算符(=,<,>,$amp;<amp;$gt;,<=,>=)一起使用.返回一个布尔< p="" style="margin: 0px; padding: 0px; list-style: none;">

      值True或 False.ANY的意思是,表达式与子查询返回的一系列的值逐一比较,只要其

      中的一次比较产生True结果,ANY测试的返回 True值(既Where子句的结果),对应于

      该表达式的当前记录将进入主查询的结果中.ALL测试则要求表达式与子查询返回的

      一系列的值的比较都产生 True结果,才回返回True值.

      例:主查询返回单价比任何一个折扣大于等于25%的产品的单价要高的所有产品

      Select * FROM Products

      Where UnitPrice>ANY

      (Select UnitPrice FROM[Order Details] Where Discount>0.25)

      2 检查表达式的值是否匹配子查询返回的一组值的某个值

      语法:

      [NOT]IN(子查询)

      例:返回库存价值大于等于1000的产品.

      Select ProductName FROM Products

      Where ProductID IN

      (Select PrdoctID FROM [Order DEtails]

      Where UnitPrice*Quantity>= 1000)

      3检测子查询是否返回任何记录

      语法:

      [NOT]EXISTS (子查询)

      例:用EXISTS检索英国的客户

      Select ComPanyName,ContactName

      FROM orders

      Where EXISTS

      (Select *

      FROM Customers

      Where Country = 'UK' AND

      Customers.CustomerID= orders.CustomerID)

      1:使用SHOW语句找出在服务器上当前存在什么数据库:

      mysql> SHOW DATABASES;

      2:2、创建一个数据库MYSQLDATA

      mysql> Create DATABASE MYSQLDATA;

      3:选择你所创建的数据库

      mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)

      4:查看现在的数据库中存在什么表

      mysql> SHOW TABLES;

      5:创建一个数据库表

      mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

      6:显示表的结构:

      mysql> DESCRIBE MYTABLE;

      7:往表中加入记录

      mysql> insert into MYTABLE values ("hyq","M");

      8:用文本方式将数据装入数据库表中(例如D:/mysql.txt)

      mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

      9:导入.sql文件命令(例如D:/mysql.sql)

      mysql>use database;

      mysql>source d:/mysql.sql;

      10:删除表

      mysql>drop TABLE MYTABLE;

      11:清空表

      mysql>delete from MYTABLE;

      12:更新表中数据

      mysql>update MYTABLE set sex="f" where name='hyq';

      以下是无意中在网络看到的使用MySql的管理心得,

      摘自:

      在windows中MySql以服务形式存在,在使用前应确保此服务已经启动,未启动可用net start mysql命令启动。而Linux中启动时可用“/etc/rc.d/init.d/mysqld start"命令,注意启动者应具有管理员权限。

      刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、 root帐户设置密码,可用如下命令进行:

      use mysql;

      delete from User where User="";

      update User set Password=PASSWORD('newpassword') where User='root';

      如果要对用户所用的登录终端进行限制,可以更新User表中相应用户的Host字段,在进行了以上更改后应重新启动数据库服务,此时登录时可用如下类似命令:

      mysql -uroot -p;

      mysql -uroot -pnewpassword;

      mysql mydb -uroot -p;

      mysql mydb -uroot -pnewpassword;

      上面命令参数是常用参数的一部分,详细情况可参考文档。此处的mydb是要登录的数据库的名称。

      在进行开发和实际应用中,用户不应该只用root用户进行连接数据库,虽然使用root用户进行测试时很方便,但会给系统带来重大安全隐患,也不利于管理技术的提高。我们给一个应用中使用的用户赋予最恰当的数据库权限。如一个只进行数据插入的用户不应赋予其删除数据的权限。MySql的用户管理是通过User表来实现的,添加新用户常用的方法有两个,一是在User表插入相应的数据行,同时设置相应的权限;二是通过GRANT命令创建具有某种权限的用户。其中GRANT的常用用法如下:

      grant all on mydb.* to NewUserName@HostName identified by "password" ;

      grant usage on *.* to NewUserName@HostName identified by "password";

      grant select,insert,update on mydb.* to NewUserName@HostName identified by "password";

      grant update,delete on mydb.TestTable to NewUserName@HostName identified by "password";

      若要给此用户赋予他在相应对象上的权限的管理能力,可在GRANT后面添加WITH GRANT OPTION选项。而对于用插入User表添加的用户,Password字段应用PASSWORD 函数进行更新加密,以防不轨之人窃看密码。对于那些已经不用的用户应给予清除,权限过界的用户应及时回收权限,回收权限可以通过更新User表相应字段,也可以使用REVOKE操作。

      下面给出本人从其它资料()获得的对常用权限的解释:

      全局管理权限:

      FILE: 在MySQL服务器上读写文件。

      PROCESS: 显示或杀死属于其它用户的服务线程。

      RELOAD: 重载访问控制表,刷新日志等。

      SHUTDOWN: 关闭MySQL服务。

      数据库/数据表/数据列权限:

      Alter: 修改已存在的数据表(例如增加/删除列)和索引。

      Create: 建立新的数据库或数据表。

      Delete: 删除表的记录。

      Drop: 删除数据表或数据库。

      INDEX: 建立或删除索引。

      Insert: 增加表的记录。

      Select: 显示/搜索表的记录。

      Update: 修改表中已存在的记录。

      特别的权限:

      ALL: 允许做任何事(和root一样)。

      USAGE: 只允许登录--其它什么也不允许做。

      1、MySQL常用命令

      create database name; 创建数据库

      use databasename; 选择数据库

      drop database name 直接删除数据库,不提醒

      show tables; 显示表

      describe tablename; 表的详细描述

      select 中加上distinct去除重复字段

      mysqladmin drop databasename 删除数据库前,有提示。

      显示当前mysql版本和当前日期

      select version(),current_date;

      2、修改mysql中root的密码:

      shell>mysql -u root -p

      mysql> update user set password=password(”xueok654123″) where user=’root’;

      mysql> flush privileges //刷新数据库

      mysql>use dbname; 打开数据库:

      mysql>show databases; 显示所有数据库

      mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后

      mysql>describe user; 显示表mysql数据库中user表的列信息);

      3、grant

      创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个口令something做这个

      mysql> grant all privileges on *.* to user@localhost identified by ’something’ with

      增加新用户

      格式:grant select on 数据库.* to 用户名@登录主机 identified by “密码”

      GRANT ALL PRIVILEGES ON *.* TO monty@localhost IDENTIFIED BY ’something’ WITH GRANT OPTION;

      GRANT ALL PRIVILEGES ON *.* TO monty@”%” IDENTIFIED BY ’something’ WITH GRANT OPTION;

      删除授权:

      mysql> revoke all privileges on *.* from root@”%”;

      mysql> delete from user where user=”root” and host=”%”;

      mysql> flush privileges;

      创建一个用户custom在特定客户端it363.com登录,可访问特定数据库fangchandb

      mysql >grant select, insert, update, delete, create,drop on fangchandb.* to custom@ it363.com identified by ' passwd’

      重命名表:

      mysql > alter table t1 rename t2;

      4、mysqldump

      备份数据库

      shell> mysqldump -h host -u root -p dbname >dbname_backup.sql

      恢复数据库

      shell> mysqladmin -h myhost -u root -p create dbname

      shell> mysqldump -h host -u root -p dbname < dbname_backup.sql

      如果只想卸出建表指令,则命令如下:

      shell> mysqladmin -u root -p -d databasename > a.sql

      如果只想卸出插入数据的sql命令,而不需要建表命令,则命令如下:

      shell> mysqladmin -u root -p -t databasename > a.sql

      那么如果我只想要数据,而不想要什么sql命令时,应该如何操作呢 

      mysqldump -T./ phptest driver

      其中,只有指定了-T参数才可以卸出纯文本文件,表示卸出数据的目录,./表示当前目录,即与mysqldump同一目录。如果不指定driver 表,则将卸出整个数据库的数据。每个表会生成两个文件,一个为.sql文件,包含建表执行。另一个为.txt文件,只包含数据,且没有sql指令。

      5、可将查询存储在一个文件中并告诉mysql从文件中读取查询而不是等待键盘输入。可利用外壳程序键入重定向实用程序来完成这项工作。例如,如果在文件my_file.sql 中存放有查

      询,可如下执行这些查询:

      例如,如果您想将建表语句提前写在sql.txt中:

      mysql > mysql -h myhost -u root -p database < sql.txt

      // 启动服务

      mysqld --console

      // 停止服务

      mysqladmin -u root shutdown

      // 登录后使用数据库 mysql

      mysql -u root -p mysql

      mysql -u root -p -h 11.11.11.11 database

      // 创建数据库

      create database db_name [default character set=gbk]

      // 设置数据库默认字符集

      alter databse db_name default character set gbk

      // 更换数据库 use database test after log on

      use test

      // 创建一个带图像字段的表 create a table mypic to store picture

      create table mypic (picid int, picname varchar(20), content blob);

      // 显示表的结构 describe table mypic

      desc mypic

      // 显示当前表的建表语句

      show create table table_name

      // 更改表类型

      alter table table_name engine innodb|myisam|memory

      // 插入一条记录 insert a record

      insert into mypic values (1, '第二章', 0x2134545);

      // 显示当前用户 show current user

      select user();

      // 显示当前用户密码 show current password

      select password('root');

      // 显示当前日期 show current date

      select now();

      // 更改用户密码 change user password

      update user set password=password('xxx') where user='root';

      // 分配用户权限 grant

      grant all privileges on *.* toroot@localhost

      grant select,insert,delete,update,alter,create,drop on lybbs.* tolybbs@"%" identified by "lybbs";

      grant select,insert,delete,update,alter,create,drop on lybbs.* tolybbs@localhostidentified by "lybbs";

      // 在不重启的情况下刷新用户权限 flush privileges

      flush privileges

      // 向表中增加一个主键 add primary key

      alter table mypic add primary key (picid)

      // 修改表结构增加一个新的字段 add a new column userid after picid

      alter table mypic add column userid int after picid

      // 更改列类型,当存储图像过大时,使用默认blob超不过100k

      alter table userpic change image image longblob;

      alter table userpic modify image longblob;

      // 设置默认字符集为gb2312

      mysqld --default-character-set=gb2312

      // 显示详细信息,包括字符集编码

      show full columns from userpic;

      // 改变表的编码

      Alter TABLE userpic CHARACTER SET gb2312;

      // mysql jdbc连接url 使用中文

      jdbc:mysql://localhost/test useUnicode=true&characterEncoding=gb2312

      // 执行外部脚本

      source

      MySQL是最受欢迎的开源SQL数据库管理系统,由MySQL AB开发、发布和支持。MySQL AB是一家基于MySQL开发人员的商业公司,是一家使用了一种成功的商业模式来结合开源价值和方****的第二代开源公司。MySQL是MySQL AB的注册商标。

      MySQL是一个快速的、多线程、多用户和健壮的SQL数据库服务器。MySQL服务器支持关键任务、重负载生产系统的使用,也可以将它嵌入到一个大配置(mass-deployed)的软件中去。

      收集的几篇,有空再做下整理。Mysql常用命令

      show databases; 显示数据库

      create database name; 创建数据库

      use databasename; 选择数据库

      drop database name 直接删除数据库,不提醒

      show tables; 显示表

      describe tablename; 显示具体的表结构

      select 中加上distinct去除重复字段

      mysqladmin drop databasename 删除数据库前,有提示。

      显示当前mysql版本和当前日期

      select version(),current_date;

      修改mysql中root的密码:

      shell>mysql -h localhost -u root -p //登录

      mysql> update user set password=password("xueok654123") where user='root';

      mysql> flush privileges //刷新数据库

      mysql>use dbname; 打开数据库:

      mysql>show databases; 显示所有数据库

      mysql>show tables; 显示数据库mysql中所有的表:先use mysql;然后

      mysql>describe user; 显示表mysql数据库中user表的列信息);

      grant

      创建用户firstdb(密码firstdb)和数据库,并赋予权限于firstdb数据库

      mysql> create database firstdb;

      mysql> grant all on firstdb.* to firstdb identified by 'firstdb'

      会自动创建用户firstdb

      mysql默认的是本地主机是localhost,对应的IP地址就是127.0.0.1,所以你用你的IP地址登录会出错,如果你想用你的IP地址登录就要先进行授权用grant命令。

      mysql>grant all on *.* to root@202.116.39.2 identified by "123456";

      说明:grant 与on 之间是各种权限,例如:insert,select,update等

      on 之后是数据库名和表名,第一个*表示所有的数据库,第二个*表示所有的表

      root可以改成你的用户名,@后可以跟域名或IP地址,identified by 后面的是登录用的密码,可以省略,即缺省密码或者叫空密码。

      drop database firstdb;

      创建一个可以从任何地方连接服务器的一个完全的超级用户,但是必须使用一个

    展开全文
  • MongoDB常用命令小结

    2020-12-16 08:40:54
    MongoDB常用命令: 超级用户相关: use admin #增加或修改用户密码 db.addUser(ixigua,’pwd’) #查看用户列表 db.system.users.find() #用户认证 db.auth(ixigua,’pwd’) #删除用户 db.removeUser(...
  • Linux常用命令大全(非常全!!!)

    万次阅读 多人点赞 2019-07-25 16:40:12
    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解...
  • MySQL常用命令大全.pdf

    2020-10-10 18:19:07
    MySQL常用命令大全(PDF版),欢迎下载! MySQL常用命令大全(PDF版)总结了MySQL中常用命令,其中包括:mysql:连接数据库; mysqladmin:修改用户密码;grant on:新增用户;create:创建数据库; show ...
  • 学习如何管理和导航MySQL数据库和表是要掌握的首要任务之一,下面的内容将主要对MySQL的数据库和表的一些常用命令进行总结,一些我们不得不掌握的命令,一些信手拈来的命令。 处理数据库 1.查看数据库 获取服务器上...
  • k8s常用命令

    千次阅读 2021-12-07 11:32:53
    命令 1、基本命令 命令 作用 create 创建资源 edit 编辑资源 get 获取资源 patch 更新(修改)资源 delete 删除资源 explain 展示资源文档 2、运行/调试命令 命令 作用 run 在集群中...
  • 这里总结在路由器上的最常用show 命令。 1 show version :查看路由器的型号,IOS的文件名、路由器接口,内存,以及配置注册号等信息 2 show running-config:查看在内存中运行的配置命令。这个命令...
  • PostgreSql常用命令

    千次阅读 2021-12-07 17:46:05
    PostgreSql常用命令 一、 连接数据库成功之后所有的命令都是使用 ” \ “+ 字符 \? \ 所有命令帮助 \l show databases, 列出所有数据库 \di 列出连接数据库中所有index \dv 列出连接数据库中所有view \h ...
  • 常用Git命令

    千次阅读 多人点赞 2019-09-26 16:12:59
    文章目录Git简介配置用户名和邮箱配置https和ssh推送时保存用户名和密码推送到远程仓库正确流程一、新建本地仓库二、配置(全局和项目)三、增加/删除文件四、代码提交五、分支六、标签七、...:Git常用命令速查表附...
  • ARUBA控制器上的常用命令如下: 1. 显示在线用户(注意这里的用户是指已经加入控制器用户列表中的用户,必须同时具有IP地址和Mac地址) 1) Show user 2. 显示每个AP上的关联用户(这里的用户是关联在AP上的用户,...
  • ceph常用命令

    千次阅读 2018-06-18 08:47:37
    ceph daemon mon.node1 config show | more 查看集群健康状态细节 ceph health detail 查看ceph log日志所在的目录 ceph -conf -- name mon . node1 -- show -config -value log_file ...
  • Linux常用安装命令

    千次阅读 2021-11-07 15:40:41
    Linux常用命令 1、Cnetos7使用yum安装nginx 查看gcc版本 gcc -v gcc安装命令 yum -y install gcc 安装openssl # openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。。。。。。 yum ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 196,437
精华内容 78,574
关键字:

常用show命令