stata命令大全,MySQL 常用命令大全

 2023-10-30 阅读 21 评论 0

摘要:1.mysql:連接數據庫 mysql 命令用戶連接數據庫。 mysql 命令格式: mysql -h 主機地址 -u 用戶名 -p 用戶密碼 1) ?連接到本機上的 MYSQL 命令 mysql -u root -p,回車后提示你 輸密碼。 注意用戶名前可以有空格也可以沒有空格,但是密碼前必

1.mysql:連接數據庫


mysql 命令用戶連接數據庫。

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


1) ?連接到本機上的 MYSQL

命令 mysql -u root -p,回車后提示你 輸密碼。

注意用戶名前可以有空格也可以沒有空格,但是密碼前必須沒有空格,否則讓你重新輸入密碼。stata命令大全。

如果剛安裝好 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 ?(回車)


2.mysqladmin:修改用戶密碼


mysqladmin 命令用于修改用戶密碼。

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


1) ?給 root 加個密碼 ab12

命令:

? mysqladmin -u root -password ab12

注:因為開始時 root 沒有密碼,所以-p 舊密碼一項就可以省略了。unix命令大全、


2) 再將 root 的密碼改為 djg345

? mysqladmin -u root -p ab12 password djg345


3.grant on:新增用戶


grant on 命令用于增加新用戶并控制其權限。

? ? ? grant on 命令格式:grant select on ?數據庫.* to ?用戶名@登錄主機 identified by “密碼”;


1) 增加一個用戶 test1,密碼為 abc,讓他可以在任何主機上登錄,并對所有數據庫有查詢、插入、修改、刪除的權限。首先用 root 用戶連入 MYSQL,然后鍵入以下命令:

? grant select,insert,update,delete on *.* to [email=test1@”%]test1@”%[/email]” Identified by “abc”;

但增加的用戶是十分危險的,你想如某個人知道 test1 的密碼,那么他就可以在 internet 上的任何一臺電腦上登錄你的 mysql 數據庫并對你的數據可以為所欲為了,解決辦法如下。bat命令大全,


2) 增加一個用戶 test2 密碼為 abc,讓他只可以在 localhost 上登錄,并可以對數據庫 mydb 進行查詢、插入、修改、刪除的操作(localhost 指本地主機,即 MYSQL 數據庫所在的那臺主機),這樣用戶即使用知道 test2 ?的密碼,他也無法從 internet ?上直接訪問數據庫,只能通過 MYSQL 主機上的 web 頁來訪問了。

grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “abc”;

如果你不想 test2 有密碼,可以再打一個命令將密碼消掉。

grant select,insert,update,delete on mydb.* to [email=test2@localhost]test2@localhost[/email] identified by “”;


4.create:創建數據庫


create 命令用于創建數據庫。sql常用命令?

create 命令格式:create database <數據庫名>;

注意:創建數據庫之前要先連接 Mysql 服務器。


1) ?建立一個名為 xhkdb 的數據庫:

? mysql> create database xhkdb;


2) 創建數據庫并分配用戶:

a:create database ?數據庫名;

b:grant select,insert,update,delete,create,drop,alter ?on ? 數據庫名.* to ?數據庫名@localhost ?identified by ?'密碼';

c:? set password for '數據庫名'@'localhost' = OLD_PASSWORD('密碼');

依次執行 3 個命令完成數據庫創建。

注意:中文 “密碼”和“數據庫”是戶自己需要設置的。批處理文件命令大全。


5.show databases:顯示數據庫


show databases 命令用于顯示所有數據庫列表。

show databases 命令格式:show databases; (注意:最后有個 s)?

例如:mysql> show databases;


6.drop database:刪除數據庫


drop 命令用于刪除數據庫。

drop 命令格式:drop database <數據庫名>;


例如,刪除名為 xhkdb 的數據庫:

? mysql> drop database xhkdb;

[例子 1] 刪除一個已經確定存在的數據庫:

mysql> drop database drop_database;

Query OK, 0 rows affected (0.00 sec)


[例子 2] 刪除一個不確定存在的數據庫:

mysql> drop database drop_database;

ERROR 1008 (HY000): Can't drop database 'drop_database'; database doesn't exist

// 發生錯誤,不能刪除'drop_database'數據庫,該數據庫不存在。autocad常用命令大全、

mysql> drop database if exists drop_database;?

Query OK, 0 rows affected, 1 warning (0.00 sec)

//產生一個警告說明此數據庫不存在

mysql> create database drop_database; ? ?// 創建一個數據庫

Query OK, 1 row affected (0.00 sec)

mysql> drop database if exists drop_database; ? ?// if exists 判斷數據庫是否存在,不存在也不產生錯誤

Query OK, 0 rows affected (0.00 sec)



7.use:使用數據庫


use 命令可以讓我們來使用數據庫。

use 命令格式: use <數據庫名>;


例如,如果 xhkdb 數據庫存在,嘗試存取它:

? mysql> use xhkdb;

屏幕提示:Database changed

1) use 語句可以通告 MySQL 把 db_name 數據庫作為默認(當前)數據庫使用,用于后續語句。該數據庫保持為默認數據庫,直到語段的結尾,或者直到出現下一個不同的 use 語句:

mysql> USE db1;

mysql> SELECT COUNT(*) FROM mytable; ? ? # selects from db1.mytable

mysql> USE db2;

mysql> SELECT COUNT(*) FROM mytable; ? ? ?# selects from db2.mytable


2) ?使用 USE 語句為一個特定的當前的數據庫做標記,不會阻礙您訪問其它數據庫中的表。下

面的例子可以從 db1 數據庫訪問 author 表,并從 db2 數據庫訪問 editor 表:

mysql> USE db1;

mysql> SELECT author_name,editor_name FROM author,db2.editor

-> WHERE author.editor_id = db2.editor.editor_id;


use 語句被設立出來,用于與 Sybase 相兼容。

有些網友問到,連接以后怎么退出。其實,不用退出來,use ? 數據庫后,使用 show databases

就能查詢所有數據庫,如果想跳到其他數據庫,用use ?其他數據庫名字就可以了。


8. select:當前連接的數據庫


select 命令表示當前選擇(連接)的數據庫。

select 命令格式:mysql> select database();

MySQL 中 SELECT 命令類似于其他編程語言里的 print 或者 write,你可以用它來顯示一個字符串、數字、數學表達式的結果等等。如何使用 MySQL 中 SELECT 命令的特殊功能呢?

顯示 MYSQL 的版本

mysql> select version();

+-----------------------+

| version() |

+-----------------------+

| 6.0.4-alpha-community |

+-----------------------+

1 row in set (0.02 sec)


2) ?顯示當前時間

mysql> select now();

+---------------------+

| now() |

+---------------------+

| 2009-09-15 22:35:32 |

+---------------------+

1 row in set (0.04 sec)


3) ?顯示年月日


SELECT DAYOFMONTH(CURRENT_DATE);

+--------------------------+

| DAYOFMONTH(CURRENT_DATE) |

+--------------------------+

| 15 |

+--------------------------+

1 row in set (0.01 sec)

SELECT MONTH(CURRENT_DATE);

+---------------------+

| MONTH(CURRENT_DATE) |



+---------------------+

| 9 |

+---------------------+

1 row in set (0.00 sec)



SELECT YEAR(CURRENT_DATE);

+--------------------+

| YEAR(CURRENT_DATE) |

+--------------------+

| 2009 |

+--------------------+

1 row in set (0.00 sec)


4) ?顯示字符串

mysql> SELECT "welecome to my blog!";

+----------------------+

| welecome to my blog! |

+----------------------+

| welecome to my blog! |

+----------------------+

1 row in set (0.00 sec)


5) ?當計算器用

select ((4 * 4) / 10 ) + 25;

+----------------------+

| ((4 * 4) / 10 ) + 25 |

+----------------------+

| 26.60 |

+----------------------+

1 row in set (0.00 sec)


6) ?串接字符串

select CONCAT(f_name, " ", l_name)

AS Name

from employee_data

where title = 'Marketing Executive';

+---------------+

| Name |

+---------------+

| Monica Sehgal |

| Hal Simlai |

| Joseph Irvine |



+---------------+

3 rows in set (0.00 sec)


注意:這里用到 CONCAT()函數,用來把字符串串接起來。另外,我們還用到以前學到的 AS

給結果列'CONCAT(f_name, " ", l_name)'起了個假名。


9. create table:創建數據表


數據表屬于數據庫,在創建數據表之前,應該使用語句“USE <數據庫名>”指定操作是在哪個數據庫中進行,如果沒有選擇數據庫,會拋出“No database selected”的錯誤。

創建數據表的語句為 CREATE TABLE,語法規則如下:

CREATE ? TABLE <表名> (

字段名 1,數據類型 [列級別約束條件] [默認值],

字段名 2,數據類型 [列級別約束條件] [默認值],

[表級別約束條件]

);

使用 CREATE TABLE 創建表時,必須指定以下信息:

(1)要創建的表的名稱,不區分大小寫,不能使用 SQL 語言中的關鍵字,如 DROP、ALTER、INSERT 等。

(2)數據表中每一個列(字段)的名稱和數據類型,如果創建多個列,要用逗號隔開。?

創建員工表 tb_emp1,結構如下表所示。


表 tb_emp1 表結構 字段名稱 數據類型 備注 id INT(11) 員工編號 ?deptId INT(11) 所在部門編號 ?FLOAT 工資 首先創建數據庫,SQL 語句如下:

字段名稱數據類型?備注
id ?INT(11)員工編號
name?VARCHAR(25)?員工名稱
deptId ??INT(11)所在部門編號
salaryFLOAT工資

表 ?tb_emp1 表結構


首先創建數據庫,SQL 語句如下:

? CREATE ? ? DATABASE ?test_db;


選擇創建表的數據庫,SQL 語句如下:

? USE test_db;


創建 tb_emp1 表,SQL 語句為:

CREATE TABLE tb_emp1

(

????id ?INT(11),

????name ?VARCHAR(25),

????deptId ?INT(11),?

????salary ? FLOAT

);

語句執行后,便創建了一個名稱為 tb_emp1 的數據表,使用 SHOW TABLES;語句查看數據表是否創建成功,SQL 語句如下:

mysql> SHOW TABLES;

+-----------------------+

| Tables_in_ test_db |

+----------------------+

| tb_emp1 |

+----------------------+

1 row in set (0.00 sec)


可以看到,test_db 數據庫中已經有了數據表 tb_tmp1,數據表創建成功。


10. desc:獲取表結構


在 MySQL 中,查看表結構可以使用 DESCRIBE 和 SHOW CREATE TABLE 語句。


DESCRIBE/DESC 語句可以查看表的字段信息,其中包括:字段名、字段數據類型、是否為主鍵、是否有默認值等。語法規則如下:


? DESCRIBE ?表名;


或者簡寫為:


? DESC ?表名;

SHOW CREATE TABLE 語句可以用來顯示創建表時的 CREATE TABLE 語句,語法格式如下:


? SHOW CREATE TABLE <表名\G>;

使用 SHOW CREATE TABLE 語句,不僅可以查看表創建時候的詳細語句,而且還可以查看存儲引擎和字符編碼。


如果不加’\G’參數,顯示的結果可能非常混亂,加上參數’\G’之后,可使顯示結果更加直觀, 易于查看。

使用 SHOW CREATE TABLE 查看表 tb_emp1 的詳細信息,SQL 語句如下:

? mysql> SHOW CREATE TABLE tb_emp1;



11.drop table:刪除數據表


在 MySQL 中,使用 DROP TABLE 可以一次刪除一個或多個沒有被其他表關聯的數據表。語法格式如下:

? DROP TABLE [IF EXISTS]表 1, 表 2, . . . ?表 n;


其中“表 n”指要刪除的表的名稱,后面可以同時刪除多個表,只需將要刪除的表名依次寫在后面,相互之間用逗號隔開即可。如果要刪除的數據表不存在,則 MySQL 會提示一條錯誤信息, “ERROR 1051 (42S02): Unknown table '表名'”。參數“IF EXISTS”用于在刪除前判斷刪除的表是否存在,加上該參數后,再刪除表的時候,如果表不存在,SQL 語句可以順利執行,但是會發出警告(warning)。

在前面的例子中,已經創建了名為 tb_dept2 的數據表。如果沒有,讀者可輸入語句,創建該表,SQL 語句如例 4.8 所示。下面使用刪除語句將該表刪除。

刪除數據表 tb_dept2,SQL 語句如下:

? DROP TABLE IF EXISTS tb_dept2;


12.insert into:向表中插入數據


INSERT INTO 語句用于向表格中插入新的行。 語法如下:

? INSERT INTO ?表名稱 VALUES (值 1, ?值 2,....)

我們也可以指定所要插入數據的列:


? INSERT INTO table_name (列 1, 列 2,...) VALUES (值 1, 值 2,....)

【例】創建數據表 tmp3,定義數據類型為 YEAR 的字段 y,向表中插入值 2010,’2010’,SQL語句如下:


首先創建表 tmp3:

? CREATE TABLE tmp3( ? ?y YEAR );


向表中插入數據:

? mysql> INSERT INTO tmp3 values(2010),('2010');


13.select from:查詢表中數據

MySQL 從數據表中查詢數據的基本語句為 SELECT 語句。SELECT 語句的基本格式是:


SELECT

{* | <字段列表>} [

FROM <表 1>,<表 2>...

[WHERE <表達式>

[GROUP BY <group by definition>]

[HAVING <expression> [{<operator> <expression>}...]] [ORDER BY <order by definition>]

[LIMIT [<offset>,] <row count>]

]

SELECT [字段 1,字段 2,…,字段 n] FROM [表或視圖]

WHERE [查詢條件];


其中,各條子句的含義如下:

{* | <字段列表>}包含星號通配符選字段列表,表示查詢的字段,其中字段列至少包含一個字 段名稱,如果要查詢多個字段,多個字段之間用逗號隔開,最后一個字段后不要加逗號。

FROM <表 1>,<表 2>...,表 1 和表 2 表示查詢數據的來源,可以是單個或者多個。

WHERE 子句是可選項,如果選擇該項,將限定查詢行必須滿足的查詢條件。

GROUP BY <字段>,該子句告訴 MySQL 如何顯示查詢出來的數據,并按照指定的字段分 組。

[ORDER BY <字段 >],該子句告訴 MySQL 按什么樣的順序顯示查詢出來的數據,可以進行 的排序有:升序(ASC)、降序(DESC)。

[LIMIT [<offset>,] <row count>],該子句告訴 MySQL 每次顯示查詢出來的數據條數。


14.delete from:刪除記錄


從數據表中刪除數據使用 DELETE ?語句,DELETE ?語句允許 WHERE 子句指定刪除條件。

DELETE 語句基本語法格式如下:


? DELETE FROM table_name [WHERE <condition>];


table_name 指定要執行刪除操作的表;“[WHERE <condition>]”為可選參數,指定刪除條件, 如果沒有 WHERE 子句,DELETE 語句將刪除表中的所有記錄。

【例】在 person 表中,刪除 id 等于 11 的記錄,SQL 語句如下:

mysql> DELETE FROM person WHERE id = 11; Query OK, 1 row affected (0.02 sec)


15.update set:修改表中的數據


MySQL 中使用 UPDATE 語句更新表中的記錄,可以更新特定的行或者同時更新所有的行。?

基本語法結構如下:

UPDATE table_name

SET column_name1 = value1,column_name2=value2,……,column_namen=valuen WHERE (condition);


column_name1,column_name2,……,column_namen 為 指 定 更 新 的 字 段 的 名 稱 ; value1, value2,……valuen 為相對應的指定字段的更新值;condition 指定更新的記錄需要滿足的條件。更新 多個列時,每個“列-值”對之間用逗號隔開,最后一列之后不需要逗號。

【例】在 person 表中,更新 id 值為 11 的記錄,將 age 字段值改為 15,將 name 字段值改為

LiMing,SQL 語句如下:


? UPDATE person SET age = 15, name=’LiMing’ WHERE id = 11;



16.alter add:增加字段


添加字段的語法格式如下:

ALTER TABLE <表名> ADD <新字段名> <數據類型> [約束條件] [FIRST | AFTER 已存在字段名];


新字段名為需要添加的字段的名稱;“FIRST”為可選參數,其作用是將新添加的字段設置為 表的第一個字段;“AFTER”為可選參數,其作用是將新添加的字段添加到指定的“已存在字段 名”的后面。

【例】在數據表 tb_dept1 中添加一個沒有完整性約束的 INT 類型的字段 managerId(部門經理 編號),SQL 語句如下:


? ALTER TABLE tb_dept1 ADD managerId INT(10);


17.rename:修改表名


MySQL 是通過 ALTER TABLE 語句來實現表名的修改的,具體的語法規則如下:


? ALTER TABLE <舊表名> RENAME [TO] <新表名>;


其中 TO 為可選參數,使用與否均不影響結果。

【例】將數據表 tb_dept3 改名為 tb_deptment3,SQL 語句如下:

? ALTER TABLE tb_dept3 RENAME tb_deptment3;


18.mysqldump:備份數據庫


mysqldump 備份數據庫語句的基本語法格式如下:


? mysqldump ? ?–u user –h host –ppassword dbname[tbname, [tbname...]]> filename.sql


user 表示用戶名稱;host 表示登錄用戶的主機名稱;password 為登錄密碼;dbname 為需要備 份的數據庫名稱;tbname 為 dbname 數據庫中需要備份的數據表,可以指定多個需要備份的表;右 箭頭符號“>”告訴 mysqldump 將備份數據表的定義和數據寫入備份文件;filename.sql 為備份文件


的名稱。

【例】使用 mysqldump 命令備份數據庫中的所有表,執行過程如下:

mysqldump -u root -p booksdb > /backup/booksdb_20130301.sql

Enter password: **

輸入密碼之后,MySQL 便對數據庫進行了備份,在 \backup 文件夾下面查看剛才備份過的文件。



19.mysql 和 source:還原數據庫


對于已經備份的包含 CREATE、INSERT 語句的文本文件,可以使用 mysql 命令導入到數據庫

中。

備份的 sql 文件中包含 CREATE、INSERT 語句(有時也會有 DROP 語句)。mysql 命令可以

直接執行文件中的這些語句。其語法如下:


? mysql –u user –p [dbname] < filename.sql


user 是執行 backup.sql 中語句的用戶名;-p 表示輸入用戶密碼;dbname 是數據庫名。如果 filename.sql 文件為 mysqldump 工具創建的包含創建數據庫語句的文件,執行的時候不需要指定數 據庫名。

【例 1】使用 mysql 命令將 \backup\booksdb_20130301.sql 文件中的備份導入到數據庫中,輸 入語句如下:


? mysql –u root –p booksDB < /backup/booksdb_20130301.sql


執行該語句前,必須先在 MySQL 服務器中創建 booksDB 數據庫,如果不存在恢復過程將會 出錯。命令執行成功之后 booksdb_20130301.sql 文件中的語句就會在指定的數據庫中恢復以前的表。

如果已經登錄 MySQL 服務器,還可以使用 source 命令導入 sql 文件。source 語句語法如下:


? source filename


【例 2 】 使 用 root ?用 戶 登 錄 到 服 務 器 , 然 后 使 用 source ?導 入 本 地 的 備 份 文 件

booksdb_20110101.sql,輸入語句如下:

--選擇要恢復到的數據庫 mysql> use booksDB; Database changed

--使用 source 命令導入備份文件

mysql> source C:\backup\booksDB_20130301.sql


命令執行后,會列出備份文件 booksDB_20130301.sql 中每一條語句的執行結果。source 命令 執行成功后,booksDB_20130301.sql 中的語句會全部導入到現有數據庫中。


20.mysqlhotcopy:快速恢復數據庫


mysqlhotcopy 備份后的文件也可以用來恢復數據庫,在 MySQL 服務器停止運行時,將備份的數據庫文件復制到 MySQL 存放數據的位置(MySQL 的 data 文件夾),重新啟動 MySQL 服務即 可。如果以根用戶執行該操作,必須指定數據庫文件的所有者,輸入語句如下:


? chown -R mysql.mysql /var/lib/mysql/dbname


【例】從 mysqlhotcopy 復制的備份恢復數據庫,輸入語句如下:


? cp -R ? ?/usr/backup/test usr/local/mysql/data


執行完該語句,重啟服務器,MySQL 將恢復到備份狀態。.sql






本文轉自898009427 51CTO博客,原文鏈接:http://blog.51cto.com/moerjinrong/1891162,如需轉載請自行聯系原作者


版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/165242.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息