zoukankan      html  css  js  c++  java
  • MySQL常用命令与语句

    Shell命令

    mysql -uroot -p123 -h127.0.0.1 -P3306 #登录
    mysqladmin kill ${processId} #杀掉进程ID
    mysqldump -uroot -p123 test1 > test_with_data.sql
    mysqldump -uroot -p123 test1 --ignore-table test1.user > test1_no_user.sql
    mysqldump -uroot -p123 --databases --no-data test1 test2 > backup_no_data.sql
    mysqldump -uroot -p123 --default-character-set=utf8 test2 > test2.sql # 导出数据
    mysql -uroot -p123 --default-character-set=utf8 test2 < test2.sql; #导入数据
    source /Users/Charles/test_20151207.sql; # 导入数据
    

    查看系统信息

    select version(); # 查询数据库版本
    select @@version; # 查询数据库版本
    select @@sql_mode; 
    select @@tx_isolation; #查看默认隔离级别
    select @@autocommit; # 查询是否开启自动提交
    show engines;
    
    show processlist; #展示哪些线程正在运行,如果不使用full关键词,只显示每个查询的前100个字符)
    show databases; #展示当前所有的数据库
    show profiles;
    show profile for query 60;
    

    查看系统变量

    show status; #显示数据库关联的配置的所有变量
    show status like 'Threads%'; #查看mysql数据库连接数、并发数相关信息
    show status like 'innodb_row_lock%'; #分析系统上的行锁的争夺情况
    show variables; #显示数据库关联的配置的所有变量
    show variables like '%version%';
    show variables like '%max_connections%';
    show variables like 'autocommit'; #1表示开启,0表示关闭
    show variables like 'innodb_lock_wait_timeout'; #查询事务等待超时时间
    show variables like '%profiling%';
    

    设置系统变量

    SET GLOBAL autocommit=1; # 开启自动提交
    SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;
    SET GLOBAL TRANSACTION ISOLATION LEVEL REPEATABLE READ;
    

    数据库操作

    create database charles;
    drop database charles;
    use charles;
    

    查看表信息

    show tables;
    show table status; #查看所有表的统计信息
    show create table test; #展示一个表的建表语句
    show index from test; #查看索引信息
    analyze table test; #重新统计表的信息,包括cardinality
    desc test; #查看表字段信息
    

    修改表语句

    操作表

    alter table table_name engine=innodb; #修改表的engine
    alter table test rename to sample; #修改表名
    alter table test default character set utf8; #修改表的编码格式
    alter table test convert to character set utf8; #修改表的所有字段
    alter table test auto_increment = 1; #重置表的自增ID
    

    操作索引

    alter table test drop index idx_1;(删除索引)
    alter table test add index idx_phone (phone_number) USING BTREE; #添加索引)
    alter table test add unique key `idx_invoice` (`invoice_no`,`invoice_code`) USING BTREE;
    alter table test add unique (`day`,`shift_id`,`config_id`,`type`);
    alter table test add constraint agg_unique unique (`day`,`shift_id`,`type`);(添加unique)
    

    操作约束

    alter table test add constraint `test_ibfk_1` foreign key (`ebox_id`) references `ebox` (`eid`) on update cascade; #添加外键
    alter table test drop foreign key test_ibfk_1; #删除外键
    

    操作列

    alter table test add column sex char(1) default null comment '识别' after name; #添加备注和顺序
    alter table test drop column title; #删除字段
    alter table test modify column pdf_path varchar(255) not null default ''; #修改字段长度
    alter table test change sex gender char(1); #修改列名1
    alter table test change sex gender char(1) character set utf8 not null; #修改列名2
    

    查询常用语句

    select * from test where time <= now() - INTERVAL 900 SECOND;
    
    select group_concat(column_name separator ',') from information_schema.columns
    where table_schema = 'charles' and table_name = 'test'; #查询表的所有列名
    
    SELECT * FROM information_schema.COLUMNS WHERE table_schema='test' AND column_key='PRI' AND data_type='int'; #查询表的列名信息
    
    SELECT @scanBatchNo := GROUP_CONCAT("'", SCAN_BATCH_NO, "'") FROM test; #把查询结果赋值给变量
    
  • 相关阅读:
    day26 案例源码
    重踏学习Java路上_Day26(网络编程)
    多线程面试题
    day24--多线程案例源码
    重踏学习Java路上_Day24(多线程锁,线程组,设计模式)
    多线程之join方法 (转)
    有return的情况下try catch finally的执行顺序(转)
    day23--电影院买票问题解决 同步代码块 同步方法 静态同步方法的引入
    进程和线程的概述--day23配套
    [学习笔记] kd-tree
  • 原文地址:https://www.cnblogs.com/mrcharleshu/p/13216559.html
Copyright © 2011-2022 走看看