MYSQL常用必備命令
1)導出test_db數據庫
命令:mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名
mysqldump -u root -p test_db > test_db.sql
1.1)導出所有數據庫
mysqldump -u root -p –all-databases > mysql_all.sql
2)導出一個表
命令:mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名
mysqldump -u root -p test_db test1 > test_test1.sql
3)導出一個數據庫結構
mysqldump -u root -p -d –add-drop-table test_db > test.sql
-d 沒有數據 –add-drop-table 在每個create語句之前增加一個drop table
4)導入數據庫
①常用source命令
進入mysql數據庫控制臺,
如mysql -u root -p
然後使用source命令,後面參數為腳本文件(如這裏用到的.sql)
mysql>source wcnc_db.sql
②使用mysqldump命令
mysqldump -u username -p dbname < filename.sql
③使用mysql命令
mysql -u username -p -D dbname < filename.sql
5)mysql進入與退出
進入:
mysql -uroot -p ????//進入mysql控制臺
mysql -uroot -p password ????//進入mysql控制臺
mysql -p ????//進入mysql控制臺
退出:
quit或exit
6)數據庫操作
1、創建數據庫
命令:create database <數據庫名>
例如:建立一個名為test_db的數據庫
mysql> create database test_db;
2、顯示所有的數據庫
命令:show databases (註意:最後有個s)
mysql> show databases;
3、刪除數據庫
命令:drop database <數據庫名>
例如:刪除名為 test_db的數據庫
mysql> drop database test_db;
4、連接數據庫
命令: use <數據庫名>
例如:進入test_db數據庫
mysql> use test_db;
屏幕提示:Database changed
5、查看當前使用的數據庫
mysql> select database();
6、當前數據庫包含的表信息
mysql> show tables; (註意:最後有個s)
7、查看數據庫字符集
mysql> show variables like ‘%char%’;
7)表操作,操作之前應連接某個數據庫
1、建表
命令:create table <表名> ( <字段名1> <類型1> [,..<字段名n> <類型n>]);
例如:創建名為test01表,並創建兩個字段,id、name、數據長度(用字符來定義長度單位)
mysql> create table test01 (id varchar(20),name varchar(20));
2、查看表結構
命令:desc 表名,或者show columns from 表名
例如:查看test表結構
mysql> desc test;
mysql> show columns from test;
mysql> describe test;
mysql> show create table test;
3、刪除表
命令:drop table <表名>
例如:刪除表名為test_db的表
mysql> drop table test_db;
4、插入數據
命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[, ( 值n )]
例如:往表test中插入二條記錄, 這二條記錄表示:編號為001,名字為yangxz
mysql> insert into test values (“001″,”yangxz”);
5、查詢表中的數據
1)查詢所有行
命令: select <字段1,字段2,…> from < 表名 > where < 表達式 >
例如:查看表test中所有內容(數據)
mysql> select * from test;
例如:查找test表中id=001內容
mysql > select * from test where id=001;
例如:查找test表中已id為0開頭的內容
mysql > select * from test where id like “0%”;
2)查詢前幾行數據
例如:查看表test中前2行數據
mysql> select * from test order by id limit 0,2;
或者:
mysql> select * from test limit 0,2;
6、刪除表中數據
命令:delete from 表名 where 表達式
例如:刪除表test中編號為001的記錄
mysql> delete from test where id=001;
7、修改表中數據
命令:update 表名 set 字段=新值,… where 條件
例如: 修改test表中name字段的內容
mysql> update test set name=’admin’ where id=002;
例如:修改test表中name字段的長度
mysql> alter table test modify column name varchar(30);
8、在表中增加字段
命令:alter table 表名 add字段 類型 其他;?
例如:在表test中添加了一個字段passtest,類型為int(4),默認值為0?
mysql> alter table test add passtest int(4) default ‘0’;
9、更改表名:
命令:rename table 原表名 to 新表名;?
例如:在表test名字更改為test1
mysql> rename table test to test1;
8)修改密碼
mysqladmin -uroot -p舊密碼 password 新密碼
mysql> use mysql;
mysql> update mysql.user set password=’新密碼’ where user=’用戶名’;
flush privileges;
mysql> set password for 用戶名@localhost=password(‘你的密碼’);
flush privileges;
9)增加用戶
例如:增加一個test用戶,密碼為1234
mysql> insert into mysql.user(Host,User,Password) values(“localhost”,”test”,password(“1234”));
flush privileges;
10)刪除用戶
例如:刪除test用戶
mysql> delete from user where user=’test’ and host=’localhost’;
flush privileges;
11)數據庫授權
命令:grant 權限 on 數據庫名.* to 用戶名@localhost identified by ‘密碼’;
例如:授權test用戶擁有test_db庫的所有權限
grant all on test_db.* to test@localhost identified by ‘123456’;
例如:授權test用戶擁有test_db庫的select,update權限
grant select,update on test_db.* to test@localhost;
12)鎖表
mysql> flush tables with read lock;
解鎖:
mysql> unlock tables;
13)查看當前用戶
mysql > select user();
14)MYSQL密碼破解方法
先停止Mysql服務,以跳過權限方式啟動,命令如下:
service mysqld stop
/usr/local/mysql/bin/mysqld_safe –user=mysql –skip-grant-tables &
在shell終端輸入mysql並按Enter鍵,進入mysql命令行
由於MYSQL用戶及密碼認證信息存放在mysql庫中的user表,需進入mysql庫
mysql> use mysql;
mysql> update user set password=password(‘123456’) where user=’root’;
mysql> flush privileges;
MYSQL root密碼修改完,需停止以Mysql跳過權限表的啟動進程,再以正常方式啟動MYSQL,再次以新的密碼登陸即可進入Mysql數據庫
15)查看Mysql提供存儲引擎
mysql > show engines;
查看mysql默認存儲引擎
mysql> show variables like ‘%storage_engine%’;
查看mysql系統版本
mysql> select version();
MYSQL常用必備命令