1. 程式人生 > >Linux 服務器上MySql 常用命令

Linux 服務器上MySql 常用命令

blank src span 博客 結果 spa 註釋 ron -o

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 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 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

Linux 服務器上MySql 常用命令