Linux 服务器上MySql 常用命令

Posted 太阳花神

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux 服务器上MySql 常用命令相关的知识,希望对你有一定的参考价值。

 

修改数据库密码:

 

(1)update user set password=\'123456\' where user=\'root\';

 

(2)刷新权限:flush privileges;

 

 

1.执行sql文件:

source /usr/local/crazy/file/test.sql

show tables; --显示该数据库中的所有表

注:需先把sql文件放到服务器的一个文件夹中,不能有中文目录,否则执行不了

drop database 数据库名; --删除数据库mydatabase

exit; 退出

 

2.连接数据库(除了之前博客的方法):

  (1)服务器下新建文件:mysql.sh

  (2) mysql.sh 文件的内容:

 

           

 

 

   (3)进入mysql.sh文件所在的目录下:输入命令

        ./mysql.sh

3.新建数据库:

     create database 数据库名;

     show  databases; --显示所有数据库列表

4.选择数据库:

   use 数据库名;

 

5.创建表

   CREATE TABLE `table_seq` (

              `TABLE_TYPE` varchar(4) NOT NULL,
               `VALUE` varchar(16) DEFAULT NULL,
               `REMARK` varchar(128) DEFAULT NULL,
               PRIMARY KEY (`TABLE_TYPE`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

 

注:MySql   创建自增长字段

1、创建表格时添加: create table tablename(id int auto_increment primary key,...) 

2、创建表格后添加: alter table tablename add id int auto_increment primary key
 
     给主键id添加自增:  ALTER TABLE test MODIFY id INT UNSIGNED AUTO_INCREMENT;
 
3、设置主键:alter table tablename add primary key(field_name);
4、重命名表: alter table table_old_name rename table_new_name;
5、改变字段的类型:alter table tableName modify field_name field_type;
6、重命名字段:alter table tableName change old_field_name new_field_name new_field_type;
7、删除字段:alter table tableName drop column field_name;
8、增加一个新字段:alter table tableName add new_field_name field_type;   
                                  alter table tableName add new_field_name field_type not null default \'0\';
9、新增一个字段,默认值为0,非空,自动增长,主键:alter table tabelname add new_field_name field_type default 0 not null   auto_increment ,add primary key (new_field_name);   

创建一个表
create table pre_common_usernotes (id int(8) not null primary key auto_increment, user_id char(20) not null, order_id char(20) not null, pub_id char(20) not null, ad_name char(20) , ad_id int(8), device char(20) , system_name char(20), channel int(8), price double(16,2), point int(8), ts int(10) not null default\'0\', sign char(30));
 
创建数据库并设置数据库默认字段编码格式
create database database_name default charset utf8 collate utf8_unicode_ci;
 
设置auto_increment字段的最小值
ALETER TABLE table_name AUTO_INCREMENT=100000   或  alter table album auto_increment=1;
 
注:只有int类型且为primary key 才可以使用auto_increment.
 
 
6.对主键的操作

增加联合主键:ALTER TABLE pub_device_property ADD CONSTRAINT pk_property PRIMARY KEY(imei,iccid);   

 删除主键         :ALTER TABLE pub_device_property DROP PRIMARY KEY;

增加主键(包括联合主键):ALTER TABLE pub_device_property ADD PRIMARY KEY(imei,iccid)

 设置字段为空:ALTER TABLE pub_device_property MODIFY  imei VARCHAR(20)  (NOT)  NULL; 

增加约束(不建议用):ALTER TABLE pub_device_property ADD UNIQUE(imei);

可以查看表中建立的各种约束:SHOW CREATE TABLE pub_device_property;

ALTER TABLE pub_device_property DROP KEY 约束名;

 

删除唯一约束

#alter table 表名 drop key 约束名;
alter table conferenceinfo drop key id;

 

示例:

 

show create table conferenceinfo; 
执行后结果: 
| conferenceinfo | CREATE TABLE conferenceinfo ( 
id bigint(20) unsigned NOT NULL AUTO_INCREMENT, 
cnname varchar(128) DEFAULT NULL, 
enname varchar(128) DEFAULT NULL, 
tag varchar(64) DEFAULT NULL, 
location varchar(64) DEFAULT NULL, 
sponsor varchar(64) DEFAULT NULL, 
startdate date DEFAULT NULL, 
enddate date DEFAULT NULL, 
deadline date DEFAULT NULL, 
acceptance date DEFAULT NULL, 
website varchar(128) NOT NULL, 
PRIMARY KEY (id), 
UNIQUE KEY id (id,website), 
KEY conference_tag_index (id,tag) USING BTREE, 
KEY conference_startdate_index (startdate) USING BTREE 
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 |

 

 7.对表中字段的操作:

//增加一个字段,默认为空
ALTER TABLE USER ADD COLUMN new1 VARCHAR(20) DEFAULT NULL;
//增加一个字段,默认不能为空
ALTER TABLE USER ADD COLUMN new2 VARCHAR(20) NOT NULL

//添加一个字段

ALTER TABLE jw_user_role ADD zk_env VARCHAR(16);

//修改字段为not null,还要把原来的类型也写出来

ALTER TABLE jw_user_role MODIFY  zk_env VARCHAR(16) NOT NULL;  

//删除一个字段
alter table user DROP COLUMN new2

//修改一个字段的类型
alter table user MODIFY new1 VARCHAR(10);

//修改字段的长度

alter table pub_device_inf MODIFY versionname varchar(100);

//修改一个字段的名称,此时一定要重新指定该字段的类型
alter table user CHANGE new1 new4 int;

//更改列名

alter table student change physics physisc char(10) not null;  

 

// 可以为表添加注释
ALTER TABLE `table_name` COMMENT\'注释\'; 
// 为字段添加注释,同样适用于修改
ALTER TABLE `table_name` CHANGE `column_name` `column_name` type(longth) UNSIGNED NULL DEFAULT NULL COMMENT \'注释\'

 

调整字段顺序:

alter table 表名

change 字段名 新字段名 字段类型 默认值 after 字段名(跳到哪个字段之后)

示例:

alter table appstore_souapp_app_androidmarket;
change getPriceCurrency getPriceCurrency varchar(50)   default null AFTER getPrice

 

 

 

SELECT imei ,COUNT(1) AS num FROM pub_apk_record
GROUP BY CONVERT(`imei` USING gbk)COLLATE
gbk_chinese_ci,`imei` ASC

 

 

 

SELECT COUNT(1) FROM (SELECT imei ,COUNT(1) AS num FROM pub_apk_record WHERE
1=1 AND TYPE=\'false\' AND productinfo=\'CMR631FJX\' AND package_name=\'com.ead\' AND version_code=\'1\'
GROUP BY CONVERT(`imei` USING gbk)COLLATE
gbk_chinese_ci,`imei` ASC) AS pub_apk_record

 

 

 

以上是关于Linux 服务器上MySql 常用命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux及常用命令介绍

Linux常用命令总结

Linux下MySQL常用命令

MySQL的权限管理和Linux下的常用命令

如何看mysql版本

MySQL 常用