MySQL数据库命令格式大全

MySQL数据库语句格式

  1. show命令

  1. 1、showdatabases; 查看有哪些库
    2、show tables;或show tables from库名; 查看库中有哪些表
    3、show create database 库名 \G或show create database 库名; 查看建库过程
    4、show create create 库名.表名 \G或show create table 库名.表名; 查看显示建表过程
    5、show create view 库名.视图名;或show create view 库名.视图名 \G 查看视图创建过程
    6、show grants for 用户名称; 显示一个用户的权限,显示结果类似于grant命令
    7、show index from table_name; 显示表的索引
    8、show status; 显示一些系统特定资源的信息,例如,正在运行的线程数量
    9、show variables; 显示系统变量的名称和值
    10、show processlist; 显示系统中正在运行的所有进程,也就是当前正在执行的查询。大多数用户可以查看他们自己的进程,但是如果他们拥有process权限,就可以查看所有人的进程,包括密码
    11、show table status; 显示当前使用或者指定的database中的每个表的信息。信息包括表类型和表的最新更新时间
    12、show privileges; 显示服务器所支持的不同权限。
    13、show engies; 显示安装以后可用的存储引擎和默认引擎
    14、show innodb status; 显示innoDB存储引擎的状态
    15、show logs; 显示BDB存储引擎的日志
    16、show warnings; 显示最后一个执行的语句所产生的错误、警告和通知
    17、show errors; 只显示最后一个执行语句所产生的错误
    18、 show [storage] engines; 显示安装后的可用存储引擎和默认引擎
    19、show master status; 查看当前使用的二进制文件及日志文件中事件当前位置

  1. create命令

  1. 1、createdatabase 数据库名;或create databaseif not exists 数据库名; 创建数据库
    2、create table 库名.表名 (字段名 类型, 字段名 类型, 字段名类型);
    3、create view 视图名 as select 语句; 例如book库中books表和category表:create view bc as select books.bname,books.price,category.btypenamefrom books inner join category on books.btypeid=category.btypeid;

    字段类型:大整数值int(n)、小整数值tinyint(n)、单精度浮点数值float(n,m),双精度浮点数值double(n.m),定点型小数值decimal(n,m),定长字符串char(n),变长字符串varchar(n),日期和时间类型date、time、year、datetime、timestamp、enum("w","m")枚举(只能取一个)、set("a","b","c")能取多个

    字段修饰符:int修饰符unsigned、zerofill、not null,char修饰符binary、not null,还有default

    4、create table users(id int(11) unsigned zerofillauto_increment,uid int(11) unsigned not null,name char(20) not null,sexenum("w","m") default "w",age tinyint(4) unsignednot null,primary key(uid),unique key(id),key(name))engine=innodb; 创建users表(主表),要求字段id类型整数长度11,自增长,唯一性索引;字段uid类型整数长度11,非空,主键索引;字段name类型字符串长度20,非空,普通索引;字段age类型小整数长度4,非空;字段sex类型枚举男,女,默认值女。
    5、create table dingdan(id int(11) unsigned zerofillauto_increment,uid int(11) unsigned not null,money double(,2) not null,uniquekey(id),foreign key(uid) references on delete cascade on updatecascade)engine=innodb; 创建dingdan表(从表),要求字段id类型整数长度11,自动补0,自增长,唯一性索引;字段uid类型整数长度11,外键关联,字段money定点小数点,小数点2位,非空,普通索引。
    6、存储过程创建及调用:
    第一步:修改默认结束符delimiter /
    第二步:开始创建存储过程
    create procedure 存储过程名称()
    begin
    select语句或insert语句或update语句或delete语句或alter语句等
    end /
    第三步:恢复默认结束符delimiter ;
    第四步:调用存储过程call 存储过程名();

  1. select命令

  1. 1、使用select命令查看mysql数据库系统信息:
    格式:select now(),curdate(),database(); 中间以“,”逗号隔开
    select now(); #打印当前的日期和时间
    select curdate(); #打印当前的日期
    select curtime(); #打印当前的时间
    select database(); #打印当前数据库
    select version(); #打印MySQL版本
    select user(); #打印当前用户
    2、 select * from 表名;或select * from 表名 \G 查询表中数据,*代表所有字段
    3、select 字段1,字段3 from 表名;或select 字段1,字段3 from 表名\G 指定字段查询表中数据,中间以“,”逗号隔开
    4、select * from 库名.表名;或select * from 库名.表名 \G 绝对路径查询表中数据,*代表所有字段
    5、select 字段1,字段3 from .库名.表名;或select 字段1,字段3 from 库名.表名 \G 指定字段查询表中数据,中间以“,”逗号隔开
    6、select distinct * from 表名; 去重查询表格内容
    7、select * from 表名 where 字段1>a and 字段2>b; 查询表中字段1>a和字段2>b的记录
    8、 select * from 表名 where 字段1>a or 字段2>b; 查询表中字段1>a或者字段2>b的记录
    9、select * from 表名 where binary字段1="a"; 区分大小写查询字段1为a的记录
    10、select distinct * from 表名order by 字段1 asc; 查询表中记录以字段1升序排序
    11、select * from 表名 order by 字段1 desc; 查询表中记录以字段1降序排序
    12、select name from mysql.proc where db="库名" and type="procedure"; 查看所有存储过程

  1. drop命令

  1. 1、dropdatabase `数据库名`;或drop databaseif exists `数据库名`; 删除数据库
    2、drop table 表名; 删除表
    3、drop view 视图名; 删除视图
    4、drop procedure if exists 存储过程名称; 删除存储过程

  1. desc命令

  1. 1、desc 表名;或desc 表名 \G 查看表结构
    还可以用以下命令查看表结构
    explain mysql.user;
    show columns from mysql.user;
    show fields from mysql.user;
    show columns from mysql.user like '%user';
    2、desc 视图名;或desc 视图名 \G 查看视图表结构

  1. alter命令

  1. 1、altertable 表名 rename 新表名; 修改表名
    2、alter table 表名 modify 要修改的字段名要修改的类型; 修改字段类型
    3、alter table 表名 change 原字段名新字段名 新字段类型; 修改字段名和字段类型
    4、alter table 表名 add字段名 字段类型; 在表尾部添加一个字段
    5、alter table 表名 add 字段1 类型 first; 在第一列添加一个字段1
    6、alter table 表名 add 字段2 类型 after 表中字段1; 在字段1后添加一个字段2
    7、alter table 表名 drop 字段名; 删除表中字段
    8、alter view bc as selectbooks.bname,books.price,books.publishing,category.btypename from books innerjoin category on books.btypeid=category.btypeid; 修改视图表结构
    9、 alter table 表名 add index 索引名称(字段1,字段2.....); 添加索引
    10、alter table 从表名 add foreignkey(字段1) references 主表名ondelete cascade on update cascade,engine=innodb; 给字段1添加外键关联

  1. insert命令

  1. 1、insertinto 表名 values (字段值1,字段值2, 字段值3); 给表中插入数据,全字段插入数据
    2、insert into 表名(字段1,字段3) values (字段值1,字段值3); 给表中插入数据,指定字段插入数据
    可插入一条数据,也可插入多条数据(中间用“,”逗号隔开)

  1. delete命令

  1. 1、 deletefrom 表名 where 字段1=字段1值; 删除表中字段1值的数据
    2、delete from 表名 where 字段1 is null; 删除表中字段1中的空行
    3、delete from 表名; 删除表中所有记录(不能清零)
    4、truncate from 表名; 删除表中所有记录(能清零)

  1. update命令

  1. 1、update 表名 set 字段1=字段1值 where 字段2=字段2值; 把表中字段2值的字段1记录更新为字段1值
    2、update 表名 set 字段1=字段1值; 把表中所有字段1的记录都更新为字段1值
    3、update 表名 set 字段1=字段1值,字段2=字段2值 where 字段3=字段3值; 把表中字段3值所对应的字段1记录更新为字段1值,字段2记录更新为字段2值。注意:同时更新多个字段的值,请使用逗号隔开

  1. mysqldump命令

  1. 1、mysqldump-u root -p123123 -A > all.sql 导出所有数据库
    2、mysqldump -u root -p123123 -B 库名 > 库名.sql 导出某个库及建库语句(不导出建库语句不用-B)
    3、mysqldump -u root -p123123 -d 库名 > 库名table.sql 只导出数据库中的表结构
    4、mysqldump -u root -p123123 -t 库名 > 库名data.sql 只导出数据库中的数据
    5、mysql -u root -p123123 < all.sql 导入所有数据库
    6、mysql -u root -p123123 库名< 库名.sql 导入某个数据库(如提示没有数据库,<前面不写库名)
    7、source /绝对路径/库名.sql; 导入某个数据库(进入mysql之后)
    8、mysqldump -uroot -p123123 --single-transaction--flush-logs -B 库名 > /opt/mysql_backup/库名_db_$(date "+%Y%m%d%H%M%S").sql 某个数据库的全库备份

  1. 其他命令

flushlogs; 刷新二进制日志

set sql_log_bin=0; 临时关闭binlog功能

set sql_log_bin=1; 开启binlog功能

show binary logs; 显示二进制日志文件

reset master; 清空二进制日志文件

mysqlbinlog -v /data/mysql/log/mysql_bin.000001 查看二进制日志文件内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值