1. 程式人生 > >MySQL命令總結

MySQL命令總結

modify IT 計算器 db_name 實的 用戶密碼 blog 指定 遠程登錄

完整的創建數據庫例子:

>create database db_test default character set utf8 collate utf8_general_ci;

>use db_test;

>CREATE TABLE tb_user(

>id INT(10) NOT NULL AUTO_INCREMENT COMMENT"主鍵",

>name VARCHAR(20) NOT NULL COMMENT"姓名",

>age INT(3) DEFAULT 0,

>PRIMARY KEY(id)

>) COMMENT"用戶表";

其他有關命令:

1,啟動和關閉數據庫

>net start mysql

>net stop mysql

所以命令必須是一行的第一個,並且以分號結尾:

All text commands must be first on line and end with ";"

2,根據用戶名密碼,登錄數據庫

>mysql -uroot -p;

如果數據庫沒有密碼則使用

>mysql -uroot;

3,查看在當前服務器中有多少個數據庫

>show databases;

4,刪除某個數據庫

>drop database databaseName;

>commit;

5,創建數據庫

>CREATE DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

更改數據庫的字符編碼

ALTER DATABASE db_name DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;

6,選擇使用某個數據庫

>use databaseName;

7,查看數據庫中有多少的表

>show tables;

8,創建表

>create table tableName(

id int(10) NOT NULL AUTO_INCREMENT,PRIMARY KEY(id),

name varchar(20)

);

9,顯示本數據庫的所有表

>show tables;

10,顯示某一個表

>show create table tableName;

11,顯示表結構

>describe tableName; (或者簡寫: desc tableName;)

12,向表中加入數據並查看

>insert into tableName(id,name...) values(‘1‘,‘admin‘,...);

>select * from tableName;

13,導入.sql文件(文件所在路徑是F:\file.sql

>source F:/file.sql;

14,刪除表

>drop table tableName;

15,刪除表中的所有數據,但是表結構依然存在

>delete from tableName;

16,更新表中的數據,如果沒有where,則將影響所有的記錄

>update tableName set name=‘administrator‘ where id=‘1‘;

17,查看服務器版本和當前日期

>select version(),current_date;

>select version();

>select now();

18,把mysql作為一個簡單的計算器

select pi();

>select pi()*10;

19,查看用戶

>select user();

20,使用load

>load data local infile filePath into table tableName;

一、連接MYSQL

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

1、例1:

連接到本機上的MYSQL

首先在打開DOS窗口,

然後進入目錄mysqlbin

再鍵入命令mysql -uroot -p

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

2、例2:

連接到遠程主機上的MYSQL。假設遠程主機的IP為:110.110.110.110,用戶名為root,密碼為

abcd123。則鍵入以下命令:

mysql -h110.110.110.110 -uroot -pabcd123

(註:u與root可以不用加空格,其它也一樣)

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

二、修改密碼。

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

1、例1:給root加個密碼ab12。首先在DOS下進入目錄mysqlbin,然後鍵入以下命令

mysqladmin -uroot -password ab12

註:

因為開始時root沒有密碼,所以-p舊密碼一項就可以省略了。

2、例2:再將root的密碼改為djg345

mysqladmin -uroot -pab12 password djg345

三、增加新用戶。

(註意:

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

格式:grant select on 數據庫.* to 用戶名@登錄主機identified by \"密碼\"

1、增加一個用戶test1密碼為abc,讓他可以在任何主機上登錄,並對所有數據庫有查

詢、插入、修改、刪除的權限。首先用以root用戶連入MYSQL,然後鍵入以下命令:

grant select,insert,update,delete on *.* to test1@\"%\" Identified by \"abc\";

1增加的用戶是十分危險的,你想如某個人知道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 identified by \"abc\";

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

grant select,insert,update,delete on mydb.* to test2@localhost identified by \"\";

在上篇我們講了登錄、增加用戶、密碼更改等問題。下篇我們來看看MYSQL中有關數據庫方面的操作。

註意:

你必須首先登錄到MYSQL中,以下操作都是在MYSQL的提示符下

alter命令

alter add命令用來增加表的字段。
alter add命令格式:alter table 表名 add字段 類型 其他;
例如,在表MyClass中添加了一個字段passtest,類型為int(4),默認值為0
mysql> alter table MyClass add passtest int(4) default ‘0‘;

添加兩個字段: mysql> alter table Person add age int,add address varchar(11);

刪除兩個字段: mysql> alter table Person drop column age,drop column address;

修改字段的註釋: mysql> ALTER TABLE `student` MODIFY COLUMN `id` COMMENT ‘學號‘;

1) 加索引
mysql> alter table 表名 add index 索引名 (字段名1[,字段名2 …]);
例子: mysql> alter table employee add index emp_name (name);
2) 加主關鍵字的索引
mysql> alter table 表名 add primary key (字段名);
例子: mysql> alter table employee add primary key(id);
3) 加唯一限制條件的索引
mysql> alter table 表名 add unique 索引名 (字段名);
例子: mysql> alter table employee add unique emp_name2(cardnumber);
4) 刪除某個索引
mysql> alter table 表名 drop index 索引名;
例子: mysql>alter table employee drop index emp_name;
5) 增加字段
mysql> ALTER TABLE table_name ADD field_name field_type;
6) 修改原字段名稱及類型
mysql> ALTER TABLE table_name CHANGE old_field_name new_field_name field_type;
7) 刪除字段
MySQL ALTER TABLE table_name DROP field_name;

MySQL添加用戶、刪除用戶與授權

MySql中添加用戶,新建數據庫,用戶授權,刪除用戶,修改密碼(註意每行後邊都跟個;表示一個命令語句結束):

1.新建用戶

  1.1 登錄MYSQL

  @>mysql -u root -p

  @>密碼

  1.2 創建用戶:

  mysql> insert into mysql.user(Host,User,Password) values("localhost","test",password("1234"));

  這樣就創建了一個名為:test 密碼為:1234 的用戶。

  註意:此處的"localhost",是指該用戶只能在本地登錄,不能在另外一臺機器上遠程登錄。如果想遠程登錄的話,將"localhost"改為"%",表示在任何一臺電腦上都可以登錄。也可以指定某臺機器可以遠程登錄。

  1.3 然後登錄一下:

  mysql>exit;

  @>mysql -u test -p

  @>輸入密碼

  mysql>登錄成功

2.為用戶授權

  授權格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼"; 

  2.1 登錄MYSQL(有ROOT權限),這裏以ROOT身份登錄:

  @>mysql -u root -p

  @>密碼

  2.2 首先為用戶創建一個數據庫(testDB)

  mysql>create database testDB;

  2.3 授權test用戶擁有testDB數據庫的所有權限(某個數據庫的所有權限):

   mysql>grant all privileges on testDB.* to test@localhost identified by ‘1234‘;

  mysql>flush privileges;//刷新系統權限表

  格式:grant 權限 on 數據庫.* to 用戶名@登錄主機 identified by "密碼"; 

  2.4 如果想指定部分權限給一用戶,可以這樣來寫:

  mysql>grant select,update on testDB.* to test@localhost identified by ‘1234‘;

  mysql>flush privileges; //刷新系統權限表

  2.5 授權test用戶擁有所有數據庫的某些權限:  

  mysql>grant select,delete,update,create,drop on *.* to test@"%" identified by "1234";

//test用戶對所有數據庫都有select,delete,update,create,drop 權限。

  //@"%" 表示對所有非本地主機授權,不包括localhost。(localhost地址設為127.0.0.1,如果設為真實的本地地址,不知道是否可以,沒有驗證。)

 //對localhost授權:加上一句grant all privileges on testDB.* to test@localhost identified by ‘1234‘;即可。

3. 刪除用戶

  @>mysql -u root -p

  @>密碼

  mysql>Delete FROM user Where User=‘test‘ and Host=‘localhost‘;

  mysql>flush privileges;

  mysql>drop database testDB; //刪除用戶的數據庫

刪除賬戶及權限:>drop user 用戶名@‘%‘;

        >drop user 用戶名@ localhost;

4. 修改指定用戶密碼

  @>mysql -u root -p

  @>密碼

  mysql>update mysql.user set password=password(‘新密碼‘) where User="test" and Host="localhost";

  mysql>flush privileges;

5. 列出所有數據庫

  mysql>show database;

6. 切換數據庫

  mysql>use ‘數據庫名‘;

7. 列出所有表

  mysql>show tables;

8. 顯示數據表結構

  mysql>describe 表名;

9. 刪除數據庫和數據表

  mysql>drop database 數據庫名;

  mysql>drop table 數據表名;

MySQL命令總結