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,顯示表結構
>describe tableName; (或者簡寫: desc tableName;)
10,向表中加入數據並查看
>insert into tableName(id,name...) values('1','admin',...);
>select * from tableName;
11,導入.sql文件(文件所在路徑是F:\file.sql
>source F:/file.sql;
12,刪除表
>drop table tableName;
13,刪除表中的所有數據,但是表結構依然存在
>delete from tableName;
14,更新表中的數據,如果沒有where,則將影響所有的記錄
>update tableName set name='administrator' where id='1';
15,查看服務器版本和當前日期
>select version(),current_date;
>select version();
>select now();
16,把mysql作為一個簡單的計算器
select pi();
>select pi()*10;
17,查看用戶
>select user();
18,使用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;
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 數據表名;