「MySql學習」Mysql學習系列之命令行操作

2020-10-18 聯動北方科技

一、連接MYSQL

格式: mysql -h主機地址 -u用戶名 -p用戶密碼

或者: mysql -u 用戶名 -p // 回車後要求輸入密碼,密碼不可見

1、連接到本機上的MYSQL。 首先打開DOS窗口,然後進入目錄mysql\bin,再鍵入命令mysql -u root -p,回車後提示你輸密碼.注意用戶名前可以有空格也可以沒有空格,但是如果-p後帶有用戶密碼,那麼-p與密碼之間必須沒有空格,否則讓你重新輸入密碼.例如以下都是合法的登陸:(帳號:root 密碼:123) mysql -u root -p mysql -uroot -p mysql -uroot -p123

如果剛安裝好MYSQL,超級用戶root是沒有密碼的,故直接回車即可進入到MYSQL中了,MYSQL的提示符是: mysql>

2、連接到遠程主機上的MYSQL。假設遠程主機的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令: mysql -h110.110.110.110 -u root -p 123;(注:u與root之間可以不用加空格,其它也一樣)

3、退出MYSQL命令: exit (回車)

二、修改密碼

格式:mysqladmin -u用戶名 -p舊密碼 password 新密碼

1、給root加個密碼ab12。首先在DOS下進入目錄mysql\bin,然後鍵入以下命令 mysqladmin -u root -password ab12 註:因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。

2、再將root的密碼改為djg345。 mysqladmin -u root -p ab12 password djg345

(注意:和上面不同,下面的因為是MYSQL環境中的命令,所以後面都帶一個分號作為命令結束符)

3、命令行修改root密碼: mysql> UPDATE mysql.user SET password=PASSWORD(』新密碼』) WHERE User=』root』; mysql> FLUSH PRIVILEGES;

4、顯示當前的user: mysql> SELECT USER();

三、增加新用戶

格式:grant select on 資料庫.* to 用戶名@登錄主機 identified by 「密碼」

1、增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,並對所有資料庫有查詢、插入、修改、刪除的權限。首先用root用戶連入

MYSQL,然後鍵入以下命令: grant select,insert,update,delete on *.* to test1」%" Identified by 「abc」; 但增加的用戶是十分危險的,你想如某個人知道test1的密碼,那麼他就可以在internet上的任何一臺電腦上登錄你的mysql資料庫並對你的數據可以為所欲為了,解決辦法見2。

2、增加一個用戶test2密碼為abc,讓他只可以在localhost上登錄,並可以對資料庫mydb進行查詢、插入、修改、刪除的操作(localhost指本地主機,即MYSQL資料庫所在的那臺主機), 這樣用戶即使用知道test2的密碼,他也無法從internet上直接訪問資料庫,只能通過MYSQL主機上的web頁來訪問了。 grant select,insert,update,delete on mydb.* to test2@localhost identifiedby 「abc」; 如果你不想test2有密碼,可以再打一個命令將密碼消掉。 grant select,insert,update,delete on mydb.* to test2@localhost identified by 「」;

四、操作技巧

1、如果你打命令時,回車後發現忘記加分號,你無須重打一遍命令,只要打個分號回車就可以了。 也就是說你可以把一個完整的命令分成幾行來打,完後用分號作結束標誌就OK。

2、你可以使用光標上下鍵調出以前的命令。

五、對資料庫的操作

1、顯示當前資料庫伺服器中的資料庫列表: mysql> SHOW DATABASES; 注意:mysql庫裡面有MYSQL的系統信息,我們改密碼和新增用戶,實際上就是用這個庫進行操作。

2、顯示資料庫中的數據表: mysql> USE 庫名; mysql> SHOW TABLES;

3、顯示use的資料庫名: mysql> SELECT DATABASE();

4、建立資料庫: mysql> CREATE DATABASE 庫名;

5、刪除資料庫: mysql> DROP DATABASE 庫名;

6、導入.sql文件命令: mysql> USE 資料庫名; mysql> SOURCE d:/mysql.sql;

也可以在DOS環境下鍵入以下命令進行導入: mysql -uroot -proot databasename < databasename.sql 注意:導入前請保證mysql中必須有databasename這個資料庫;

六、備份資料庫

注意,mysqldump命令在DOS的 mysql\bin 目錄下執行,不能在mysql環境下執行,因此,不能以分號「;」結尾。若已登陸mysql,請運行退出命令mysql> exit

1.導出整個資料庫 導出文件默認是存在mysql\bin目錄下 mysqldump -u用戶名 -p資料庫名 > 導出的文件名 mysqldump -uroot -p123456 database_name > outfile_name.sql

2.導出一個表 mysqldump -u 用戶名 -p 資料庫名 表名> 導出的文件名 mysqldump -u user_name -p database_name table_name > outfile_name.sql

3.導出一個資料庫結構 mysqldump -u user_name -p -d –add-drop-table database_name > outfile_name.sql -d 沒有數據 –add-drop-table 在每個create語句之前增加一個drop table

4.帶語言參數導出 mysqldump -uroot -p –default-character-set=latin1 –set-charset=gbk –skip-opt database_name > outfile_name.sql

七、將文本數據轉到資料庫中

1、文本數據應符合的格式:欄位數據之間用tab鍵隔開,null值用\n來代替.例: 3 rose 大連二中 1976-10-10 4 mike 大連一中 1975-12-23 假設你把這兩組數據存為school.txt文件,放在c盤根目錄下。

2、數據傳入命令mysql> load data local infile "c:\school.txt" into table 表名; 注意:你最好將文件複製到mysql\bin目錄下,並且要先用use命令打表所在的庫。

八、對表的操作

1、顯示數據表的結構: mysql> DESCRIBE 表名; (DESC 表名)

2、建立數據表: mysql> USE 庫名; //進入資料庫 mysql> CREATE TABLE 表名 (欄位名 VARCHAR(20), 欄位名 CHAR(1));

3、刪除數據表: mysql> DROP TABLE 表名;

4、重命名數據表 alter table t1 rename t2;

5、顯示錶中的記錄: mysql> SELECT * FROM 表名;

6、往表中插入記錄: mysql> INSERT INTO 表名 VALUES (」hyq」,」M」);

7、更新表中數據: mysql-> UPDATE 表名 SET 欄位名1=』a',欄位名2=』b』 WHERE 欄位名3=』c';

8、將表中記錄清空: mysql> DELETE FROM 表名;

9、用文本方式將數據裝入數據表中: mysql> LOAD DATA LOCAL INFILE 「D:/mysql.txt」 INTO TABLE 表名;

10、 顯示錶的定義,還可以看到表的約束,例如外鍵

mysql> SHOW CREATE TABLE yourtablename ;還可以通過 mysqldump 將表的完整定義轉儲到文件中,當然包括外鍵定義。還可以通過下面的指令列出表 T 的外鍵約束:mysql> SHOW TABLE STATUS FROM yourdatabasename LIKE 'T'外鍵約束將會在表注釋中列出。

存儲過程

11、創建存儲過程

CREATE PROCEDURE procedureName (in paramentName type, in paramentName type,……) BEGIN SQL sentences; END

12、調用存儲過程 mysql> CALL procedureName(paramentList);

例:mysql> CALL addMoney(12, 500);

13、查看特定資料庫的存儲過程 方法一:mysql> SELECT `name` FROM mysql.proc WHERE db = 'your_db_name' AND `type` = 'PROCEDURE'; 方法二:mysql> show procedure status;

14、刪除存儲過程 mysql> DROP PROCEDURE procedure_name; mysql> DROP PROCEDURE IF EXISTS procedure_name;

15、查看指定的存儲過程定義 mysql> SHOW CREATE PROCEDURE proc_name; mysql> SHOW CREATE FUNCTION func_name;

---------- 示例一----------- mysql> DELIMITER $$mysql> USE `db_name`$$ //選擇資料庫 mysql> DROP PROCEDURE IF EXISTS `addMoney`$$ //如果存在同名存儲過程,則刪除之 mysql> CREATE DEFINER= `root`@`localhost` PROCEDURE `addMoney`(IN xid INT(5),IN xmoney INT(6))mysql> BEGINmysql> UPDATE USER u SET u.money = u.money + xmoney WHERE u.id = xid; //分號";"不會導致語句執行,因為當前的分割符被定義為$$ mysql> END$$ //終止 mysql> DELIMITER ;//把分割符改回分號";"

九、修改表的列屬性的操作

1、為了改變列a,從INTEGER改為TINYINT NOT NULL(名字一樣), 並且改變列b,從CHAR(10)改為CHAR(20),同時重命名它,從b改為c: mysql> ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b c CHAR(20);

2、增加一個新TIMESTAMP列,名為d: mysql> ALTER TABLE t2 ADD d TIMESTAMP;

3、在列d上增加一個索引,並且使列a為主鍵: mysql> ALTER TABLE t2 ADD INDEX (d), ADD PRIMARY KEY (a);

4、刪除列c: mysql> ALTER TABLE t2 DROP COLUMN c;

5、增加一個新的AUTO_INCREMENT整數列,命名為c: mysql> ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADD INDEX (c); 注意,我們索引了c,因為AUTO_INCREMENT柱必須被索引,並且另外我們聲明c為NOT NULL, 因為索引了的列不能是NULL

十、一個建庫和建表以及插入數據的實例

drop database if exists school; //如果存在SCHOOL則刪除 create database school; //建立庫SCHOOL use school; //打開庫SCHOOL create table teacher //建立表TEACHER ( id int(3) auto_increment not null primary key, name char(10) not null, address varchar(50) default 『深圳』, year date ); //建表結束 //以下為插入欄位 insert into teacher values('','allen','大連一中','1976-10-10'); insert into teacher values('','jack','大連二中','1975-12-23'); 如果你在mysql提示符鍵入上面的命令也可以,但不方便調試。 (1)你可以將以上命令原樣寫入一個文本文件中,假設為school.sql,然後複製到c:\下,並在DOS狀態進入目錄\mysql\bin,然後鍵入以下命令: mysql -uroot -p密碼 < c:\school.sql 如果成功,空出一行無任何顯示;如有錯誤,會有提示。(以上命令已經調試,你只要將//的注釋去掉即可使用)。 (2)或者進入命令行後使用 mysql> source c:\school.sql; 也可以將school.sql文件導入資料庫中。

相關焦點

  • 「MySql學習」MySql學習系列之用戶與權限管理
    下面,我們以使用命令執行的方式來介紹 Mysql 的常用操作。1、 連接MySQL① 連接到本機上的Mysql。首先打開DOS窗口,進入Mysql的安裝目錄 mysql\bin 下,鍵入命令:mysql -uroot -pdir13652-u 後接用戶名,可以有空格、也可以沒有, -p 後接密碼,必須沒有空格
  • Django 學習筆記之 如何設置和操作 mysql 資料庫
    我們之前學習了 在 django項目如何設置和操作sqlite 資料庫。在這一節中,我們會藉由舊有思路來設置和操作 mysql 資料庫。同時,我們會學習基本的mysql的SQL 命令,方便我們進行 mysql 資料庫 的基本操作。
  • 程序開發必知必會的MySQL基本命令行操作
    MySQL基本命令行操作MySQL作為一款資料庫管理系統,已經成為了最受歡迎的資料庫管理系統之一。學習MySQL自然也就成為了程序開發人員必須做的一件事。就像學習Java語言初期要學習使用文本文檔編寫代碼並在命令提示符中運行一樣,雖然許多可視化軟體完全可以勝任,但學習在cmd中運行對Java的理解很有幫助。絕大多數的使用linux作業系統的大、中、小型網際網路網站都在使用mysql作為其後端資料庫存儲。
  • 「MySql學習」Mysql學習系列之日期類型
    (以下內容適用於MySQL 5.X 版本,可以使用 select version(); 來查詢mysql 的版本。 )一、MySQL 日期類型MySQL 日期類型:日期格式、所佔存儲空間、日期範圍 比較。
  • 「MySql學習」Mysql學習系列之表的定義
    創建了用戶之後,如何去操作資料庫呢?下面我們介紹一下 Mysql 操作表的常用 SQL 語句。 1.創建資料庫 登陸資料庫,該用戶必須有創建資料庫的權限。語法:create database [資料庫名]; 例: mysql> create database ppniedb;# 創建資料庫ppniedb mysql> show databases;# 查詢該用戶下的資料庫 2.創建表
  • 推薦一些學習MySQL的資源
    下面推薦一些入門級資源:菜鳥教程:https://www.runoob.com/mysql/mysql-tutorial.htmlC語言中文網:http://c.biancheng.net/mysql/
  • MySQL系列之體系結構原理學習筆記
    MySQL系列之體系結構原理學習筆記引用來自官網的圖,MySQL Server系統管理和控制工具負責備份恢復、安全管理、集群管理等SQL接口(SQL Interface)用於接受客戶端發送的各種SQL命令
  • mac下進入mysql命令行
    一、連接本地的資料庫並進入命令行:1、打開終端,輸入如下命令:/usr/local/MySQL/bin/mysql -u root -p其中,root為資料庫用戶名2、輸入密碼:界面提示輸入密碼:Enter password:若為初次使用該資料庫,則默認密碼為空,直接回車即可進入
  • MySQL學習(1):概述
    數據表在關係型資料庫中,資料庫表是一系列二維數組的集合,用來存儲數據和操作數據的邏輯結構。它由縱向的列和橫向的行組成,行被稱為記錄,是組織數據的單位;列被稱為欄位,每一列表示記錄的一個屬性,都有相應的描述信息,如數據類型、數據寬度等。
  • MYSQL命令大全,如果你是學習編程的,那麼要收藏哦
    則鍵入以下命令: mysql -h110.110.110.110 -uroot -pabcd123 (注:u與root可以不用加空格,其它也一樣) 3、退出MYSQL命令: exit (回車)。下面我們來看看MySQL中有關資料庫方面的操作。注意:你必須首先登錄到MySQL中,以下操作都是在MySQL的提示符下進行的,而且每個命令以分號結束。
  • mysql常用命令手冊
    來源:SQL資料庫開發之前介紹了一系列的mysql基礎知識,今天我們將MySQL常用的功能命令整理出來>A:常用source 命令 進入mysql資料庫控制臺, 如mysql -u root -p mysql>use 資料庫 然後使用source命令,後面參數為腳本文件(如這裡用到的.sql) mysql>source wcnc_db.sql B:使用mysqldump命令 mysqldump -u username
  • MYSQL資料庫操作案例
    , 但是你再進行刪除表操作時要非常小心,因為執行刪除命令後所有數據都會消失。WHERE 子句從數據表中讀取數據的通用語法:SELECT * from runoob_tbl WHERE runoob_author='教程';MySQL UPDATE 更新如果我們需要修改或更新 MySQL 中的數據,我們可以使用 SQL UPDATE 命令來操作
  • Python 操作 MySQL 資料庫(上)
    中我們學習用文件形式將數據保存到磁碟中,雖然這已經是一種不錯的方式,但是頭禿的大佬們還是發明了更快更便捷的東西:「資料庫」。它更具有格式化的特點,並且寫入和讀取更快更方便。到目前為止,我們所熟知的主流資料庫有三種:關係型資料庫:MySQL,SQL Server,Oracle 等。
  • 「MySQL」記一次線上重大事故:二狗子竟然把線上資料庫刪了
    全備命令39;xiaoming&39;xiaohong& cd /server/backup/ gzip -d test_2020-08-19.sql.gz 39;mysql-bin.000003& cp /data
  • 「MySql學習」Mysql學習系列之常用資料庫查詢語句
    limit n 來表示返回前n行數據,limit m,n表示從m+1行開始的前n行數據。例:mysql> select * from person limit 2;mysql> select * from person limit 1,3;
  • 「Docker篇」Docker安裝MySql
    >查看已存在鏡像docker images 上圖中可看出已存在三個鏡像其中第一個為我們拉取的Mysql鏡像註:筆者拉取鏡像之前此鏡像已經存在,因此創建時間顯示初次拉取時間,僅供參考不影響操作創建MySql容器映射目錄拉取完鏡像之後並不能直接使用,還需要在本機創建一個容器並啟動來使用上面說到容器內文件系統和外部文件系統並非直接關聯,因此我們需要創建一些映射文件目錄(非必要操作建議創建映射)以下目錄本人測試使用(MAC),真實映射目錄視文件系統而定
  • MySQL數據導出篇,直接使用mysql命令導出數據到文本文檔
    MySQL管理中,有時候需要把資料庫中的數據導出到外部存儲文件中,MySQL中的數據可以導出SQL文本文件,XML,HTML等文件格式,同樣這些導出也是可以導入到MySQL中,本文給大家介紹使用mysql命令導出文本文件語句格式使用mysql命令導出文本文件語句格式
  • Python 3 對MySQL的基本操作,及MySQL的增刪改查等常見命令
    Python 3 對MySQL的基本操作,及MySQL的增刪改查等常見命令作者:韭菜學院(youxuancaijing)1.Mysql的常見命令顯示當前資料庫伺服器中的資料庫列表:mysql> SHOW DATABASES;顯示當前資料庫的數據表:mysql> SHOW Tables;顯示錶結構:mysql> describe 表名稱;創建資料庫:CREATE DATABASE 資料庫名;
  • MySQL教程之MySQL定時備份資料庫
    一、MySQL數據備份1.1、 mysqldump命令備份數據在MySQL中提供了命令行導出資料庫數據以及文件的一種方便的工具mysqldump,我們可以通過命令行直接實現資料庫內容的導出dump,首先我們簡單了解一下mysqldump命令用法:#MySQLdump常用mysqldump -u root -p --databases
  • 一千行 MySQL 詳細學習筆記
    一千行 MySQL 詳細學習筆記(值得學習與收藏)利用 mysqldump 指令完成。-- 導出mysqldump [options] db_name [tables]mysqldump [options] ---database DB1 [DB2 DB3...]mysqldump [options] --all--database1.