`

mysql常用命令

 
阅读更多

1、登陆

mysql -h 主机的地址 -u 用户名 -p 密码

 2、数据库操作

create databases 数据库名称 ;
show databases ;
alter database 数据库名称 default character set 编码方式 collate 编码方式_bin ;
drop database 数据库名称 ;
exit;或者quit;或者\q;
#查询状态
show variables like '%max_connections%';
show status like 'Threads%';
show status;

 3、数据表操作

use 数据库名称;// 使用数据库
create table 表名 
{ 
    字段名 1,数据类型[完整性约束条件], 
    ... 
}
show tables;
desc  表名 ; 
alter table 旧表名 rename [to] 新表名 ;
alter table 表名 change 旧字段名 新字段名 新数据类型 ;
alter table 表名 modify 字段名 数据类型 ;
alter table 表名 add 新字段名 数据类型
alter table 表名 drop 字段名 ;
alter table 表名 modify 字段名1 数据类型 first|after 字段名2
drop table 表名 ;

 4、增删改查操作

insert into 表名(字段名1,字段名2, ...) value(值1,值2, ...);
update 表名 set 字段名1 = 值1 [,字段名2 = 值2, ...] [where 条件表达式];
delete from 表名 [where 条件表达式];// DML
truncate table 表名;// DDL,删除表数据
select * from 表名 where xxx=x;

 5、特殊语法

#通过一个表数据,修改另一个关联表数据
update A,B set A.cover = B.cover where A.id=B.t_id;

 6、导出数据

select * from user where create_time>'2018-09-03 00:00:00' and create_time<'2018-09-03 23:59:59'
INTO OUTFILE '/test.txt';

 

mysql -h xxx -P8800 -uroot -p project1 -e 'select * from label' > ~/liu/test1.txt;

 第二种

#连接到mysql数据库后
pager cat > /liu/data.csv;
#下面执行sql查询即可,结果会自动存到文件中。
select ......

 

7、分区表

#查看是否支持分区
mysql> show variables like "%part%";
#分区表,一般range 分区(根据id或时间范围)、list分区(根据列表值)、hash分区、key分区
#另外,一般主键里面要包含分区的字段,比如PRIMARY KEY (`id`, `create_time`)


 create table t_range( 
     id int(11), 
     money int(11) unsigned not null, 
     date datetime 
  )partition by range(year(date))( 
  partition p2007 values less than (2008), 
  partition p2008 values less than (2009), 
  partition p2009 values less than (2010) 
  partition p2010 values less than maxvalue  #MAXVALUE 表示最大的可能的整数值
  );
create table t_list( 
  a int(11), 
  b int(11) 
  )(partition by list (b) 
  partition p0 values in (1,3,5,7,9), 
  partition p1 values in (2,4,6,8,0) 
);
LIST分区没有类似如“VALUES LESS THAN MAXVALUE”这样的包含其他值在内的定义。将要匹配的任何值都必须在值列表中找到。
CREATE TABLE employees (
    id INT NOT NULL,
    fname VARCHAR(30),
    lname VARCHAR(30),
    hired DATE NOT NULL DEFAULT '1970-01-01',
    separated DATE NOT NULL DEFAULT '9999-12-31',
    job_code INT,
    store_id INT
)
PARTITION BY HASH(store_id)
PARTITIONS 4;

 8、当中文出现乱码时,要调整xshell的字符集为utf-8,另外如果数据库本身中文有乱码,需要语句转换。

set names utf8;

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics