一:通過終端進(jìn)入數(shù)據(jù)庫(kù)模式:
1:沒有配置環(huán)境變量:進(jìn)入/usr/local/mysql/目錄下,執(zhí)行:
mysql -u root -p
2: 配置過環(huán)境變量,在任意目錄下都可以直接執(zhí)行:
mysql -u root -p
如果數(shù)據(jù)開啟就會(huì)進(jìn)入mysql數(shù)據(jù)庫(kù)模式
二:配置數(shù)據(jù)庫(kù)的環(huán)境變量:
1、首先我們需要?jiǎng)?chuàng)建一個(gè) .bash_profile 文件(不要掉了文件名前面的 . 號(hào)),命令如下:
touch .bash_profile
2、創(chuàng)建完成后,用編輯器vim .bash_profile打開這個(gè)文件,添加下面的內(nèi)容:
PATH = /usr/local/mysql/bin:$PATH
export PATH
保存后退出
3、然后使用source命令更新系統(tǒng)環(huán)境變量配置,命令如下:
source .bash_profile
4、更新完畢后使用
echo $PATH
查看所有環(huán)境變量,檢查是否包含了我們剛剛配置的環(huán)境變量地址,如果包含了,說明環(huán)境變量配置成功了
三:退出數(shù)據(jù)庫(kù)模式:
兩種方式:exit 或者 quit
四:數(shù)據(jù)庫(kù)的常用命令
1、Mysql 創(chuàng)建數(shù)據(jù)庫(kù):
方式一(默認(rèn)編碼,不支持中文):
CREATE DATABASE 數(shù)據(jù)庫(kù)名;
方式二(直接設(shè)置編碼):
CREATE DATABASE 數(shù)據(jù)庫(kù)名 charset utf8;
方式三(全模式,最好使用這種方式):
CREATE DATABASE IF NOT EXISTS my_db default charset utf8 COLLATE utf8_general_ci;
2、顯示當(dāng)前數(shù)據(jù)庫(kù)服務(wù)器中的數(shù)據(jù)庫(kù)列表:
show databases;
3、切換或使用某個(gè)數(shù)據(jù)庫(kù):
use 數(shù)據(jù)庫(kù)名;
4、創(chuàng)建數(shù)據(jù)庫(kù)表格:
CREATE TABLE 表名 (字段名 VARCHAR(20), 字段名 CHAR(1));
5、 查詢數(shù)據(jù)中都有哪些表格
mysql> SHOW TABLES;
6、刪除數(shù)據(jù)庫(kù):
DROP DATABASE 庫(kù)名;
// 刪除時(shí)添加判斷
drop database if exists school;
7、刪除數(shù)據(jù)表:
mysql> DROP TABLE 表名;
8、將表中記錄清空:
mysql> DELETE FROM 表名;
9、顯示數(shù)據(jù)表結(jié)構(gòu):
mysql> DESCRIBE MYTABLE;
10、往表中插入記錄:
方式一:這種方式需要對(duì)表格的每一列都插入數(shù)據(jù)
mysql> INSERT INTO 表名 VALUES ("hyq","M");
方式二:這種方式只對(duì)指定的列插入數(shù)據(jù)就可以
mysql> INSERT INTO 表名 (name,sex) VALUES ("hyq","M");
11、更新表中數(shù)據(jù):
mysql-> UPDATE 表名 SET 字段名1='a',字段名2='b' WHERE 字段名3='c';
SET 后為需要更新的字段,WHERE 后面是需要更新記錄的匹配條件
12、用文本方式將數(shù)據(jù)裝入數(shù)據(jù)表中:
mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE 表名;
13、導(dǎo)入.sql文件命令:
mysql> USE 數(shù)據(jù)庫(kù)名;
mysql> SOURCE d:/mysql.sql;
14、命令行修改root密碼:
mysql> UPDATE mysql.user SET password=PASSWORD('新密碼') WHERE User='root';
mysql> FLUSH PRIVILEGES;
15、修改數(shù)據(jù)庫(kù)的編碼格式
alter database 數(shù)據(jù)庫(kù)名 character set utf8;
16、創(chuàng)建數(shù)據(jù)庫(kù)時(shí),指定數(shù)據(jù)庫(kù)的字符編碼
mysql> create database 數(shù)據(jù)庫(kù)名 character set utf8;
17、查看mysql數(shù)據(jù)庫(kù)的字符編碼
mysql> show variables like 'character%'; //查詢當(dāng)前mysql數(shù)據(jù)庫(kù)的所有屬性的字符編碼
18、修改指定表格的編碼格式
alter table 表格名 default character set utf8;
19、修改表格中指定字段的編碼格式
alter table 表格名 change 字段名 字段名 類型 character set utf8;
五:對(duì)表格結(jié)構(gòu)進(jìn)行修改
1、修改數(shù)據(jù)庫(kù)字段類型:
mysql> alter table 表名 modify column 字段名 類型;
這里注意:如果表格中已經(jīng)有數(shù)據(jù),修改的新類型必須滿足已有數(shù)據(jù),否者修改失敗,如果需要強(qiáng)制修改,需要清空數(shù)據(jù)才可以修改
2、修改數(shù)據(jù)庫(kù)字段的名稱:
alter table 表名 CHANGE 字段舊名 字段新名 類型;
例如:alter table user CHANGE new1 new4 int;
批量修改
alter table 表 change 修改前字段名 修改后字段名稱 int(11) not null,
change 修改前字段名 修改后字段名稱 int(11) not null,
change 修改前字段名 修改后字段名稱 int(11) not null,
change 修改前字段名 修改后字段名稱 int(11) not null,
change 修改前字段名 修改后字段名稱 int(11) not null
3、添加字段:
// 直接添加一個(gè)新的字段
alter table user add COLUMN 字段名 類型
//增加一個(gè)字段,默認(rèn)為空
alter table user add COLUMN 字段名 VARCHAR(20) DEFAULT NULL;
//增加一個(gè)字段,默認(rèn)不能為空
alter table user add COLUMN 字段名 VARCHAR(20) NOT NULL;
批量增加字段:方式一:
bagin; //事務(wù)開始
alter table em_day_data add f_day_house7 int(11);
alter table em_day_data add f_day_house8 int(11);
alter table em_day_data add f_day_house9 int(11);
alter table em_day_data add f_day_house10 int(11);
commit; //提交事務(wù),事務(wù)結(jié)束
批量添加字段:方式二:
alter table 表名 add (字段1 類型(長(zhǎng)度),字段2 類型(長(zhǎng)度),字段3 類型(長(zhǎng)度));
alter table em_day_data add (f_day_house11 int(11),f_day_house12 int(11),f_day_house13 int(11));
4、刪除字段:
//刪除一個(gè)字段
alter table 表名 DROP COLUMN 字段名;
5、為數(shù)據(jù)庫(kù)表格添加注釋
// 可以為表添加注釋
ALTER TABLE table_name COMMENT '注釋';
// 為字段添加注釋,同樣適用于修改
ALTER TABLE table_name CHANGE old_name new_name type(longth) UNSIGNED NULL DEFAULT NULL COMMENT '注釋'
6、調(diào)整字段順序:
alter table 表名
change 字段名 新字段名 字段類型 默認(rèn)值 after 字段名(跳到哪個(gè)字段之后)
alter table ap[ps](http://www.111cn.net/fw/photo.html)tore_souapp_app_androidmarket;
change getPriceCurrency getPriceCurrency varchar(50) default null AFTER getPrice;
7、修改表格名稱
方法一:mysql> alter table 舊表名 rename to 新表名;
方法二:mysql> alter table 舊表名 rename AS 新表名;
三、一個(gè)建庫(kù)和建表以及插入數(shù)據(jù)的實(shí)例
drop database if exists school; //如果存在sudu則刪除
create database sudu; //建立庫(kù)sudu
use school; //打開庫(kù)sudu
create table teacher //建立表TEACHER
(
id int(3) auto_increment not null primary key,
name char(10) not null,
address varchar(50) default '深圳',
year date
); //建表結(jié)束
//以下為插入字段
insert into teacher values('','allen','飛數(shù)科技1','2005-10-10');
insert into teacher values('','jack','飛數(shù)科技2','2005-12-23');如果你在mysql提示符鍵入上面的命令也可以,但不方便調(diào)試。
(1)你可以將以上命令原樣寫入一個(gè)文本文件中,假設(shè)為sudu.sql,然后復(fù)制到c:\下,并在DOS狀態(tài)進(jìn)入目錄\mysql\bin,然后鍵入以下命令:
mysql -uroot -p密碼 < c:\sudu.sql
如果成功,空出一行無任何顯示;如有錯(cuò)誤,會(huì)有提示。(以上命令已經(jīng)調(diào)試,你只要將//的注釋去掉即可使用)。
(2)或者進(jìn)入命令行后使用 mysql> source c:\sudu.sql; 也可以將sudu.sql文件導(dǎo)入數(shù)據(jù)庫(kù)中。
四、將文本數(shù)據(jù)轉(zhuǎn)到數(shù)據(jù)庫(kù)中
1、文本數(shù)據(jù)應(yīng)符合的格式:字段數(shù)據(jù)之間用tab鍵隔開,null值用\n來代替.例:
3 rose 飛數(shù)科技1 1976-10-10
4 mike 飛數(shù)科技2 1975-12-23
假設(shè)你把這兩組數(shù)據(jù)存為速度sudu.txt文件,放在c盤根目錄下。
2、數(shù)據(jù)傳入命令 load data local infile "c:\sudu.txt" into table 表名;
注意:你最好將文件復(fù)制到\mysql\bin目錄下,并且要先用use命令打表所在的庫(kù)。
五、備份數(shù)據(jù)庫(kù):(命令在DOS的\mysql\bin目錄下執(zhí)行)
1.導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)
導(dǎo)出文件默認(rèn)是存在mysql\bin目錄下
mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 > 導(dǎo)出的文件名
mysqldump -u user_name -p123456 database_name > outfile_name.sql
2.導(dǎo)出一個(gè)表
mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 表名> 導(dǎo)出的文件名
mysqldump -u user_name -p database_name table_name > outfile_name.sql
3.導(dǎo)出一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)
mysqldump -u user_name -p -d --add-drop-table database_name > outfile_name.sql
-d 沒有數(shù)據(jù) --add-drop-table 在每個(gè)create語(yǔ)句之前增加一個(gè)drop table
4.帶語(yǔ)言參數(shù)導(dǎo)出
mysqldump -uroot -p --default-character-set=latin1 --set-charset=gbk --skip-opt database_name > outfile_name.sql
學(xué)習(xí)文章:
https://www.cnblogs.com/jiangxiaobo/p/7089345.html
https://www.cnblogs.com/wenlj/p/5258102.html