MySql經常使用命令集Mysql經常使用命令2

MYSQL 經常使用命令html

  1.導出整個數據庫mysql

  mysqldump -u 用戶名 -p --default-character-set=latin1 數據庫名 > 導出的sql

  文件名(數據庫默認編碼是latin1)數據庫

  mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sqlwindows

  2.導出一個表安全

  mysqldump -u 用戶名 -p 數據庫名 表名> 導出的文件名服務器

  mysqldump -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql網絡

  3.導出一個數據庫結構app

  mysqldump -u wcnc -p -d -add-drop-table smgp_apps_wcnc >d:wcnc_db.sqlide

  -d 沒有數據 -add-drop-table 在每一個create語句以前增長一個drop table

  4.導入數據庫

  A:經常使用source 命令

  進入mysql數據庫控制檯,

  如mysql -u root -p

  mysql>use 數據庫

  而後使用source命令,後面參數爲腳本文件(如這裏用到的.sql)

  mysql>source wcnc_db.sql

  B:使用mysqldump命令

  mysqldump -u username -p dbname < filename.sql

  C:使用mysql命令

  mysql -u username -p -D dbname < filename.sql

  1、啓動與退出

  一、進入MySQL:啓動MySQL Command Line Client(MySQL的DOS界面),直接輸入

  安裝時的密碼便可。此時的提示符是:mysql>

  二、退出MySQL:quit或exit

  2、庫操做

  一、、建立數據庫

  命令:create database <數據庫名>

  例如:創建一個名爲xhkdb的數據庫

  mysql> create database xhkdb;

  二、顯示全部的數據庫

  命令:show databases (注意:最後有個s)

  mysql> show databases;

  三、刪除數據庫

  命令:drop database <數據庫名>

  例如:刪除名爲 xhkdb的數據庫

  mysql> drop database xhkdb;

  四、鏈接數據庫

  命令: use <數據庫名>

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

  mysql> use xhkdb;

  屏幕提示:Database changed

  五、查看當前使用的數據庫

  mysql> select database();

  六、當前數據庫包含的表信息:

  mysql> show tables; (注意:最後有個s)

  3、表操做,操做以前應鏈接某個數據庫

  一、建表

  命令:create table <表名> ( <字段名1> <類型1> [,..<字段名n> <類型n>]);

  mysql> create table MyClass(

  > id int(4) not null primary key auto_increment,

  > name char(20) not null,

  > sex int(4) not null default '0',

  > degree double(16,2));

  二、獲取表結構

  命令: desc 表名,或者show columns from 表名

  mysql>DESCRIBE MyClass

  mysql> desc MyClass;

  mysql> show columns from MyClass;

  三、刪除表

  命令:drop table <表名>

  例如:刪除表名爲 MyClass 的表

  mysql> drop table MyClass;

  四、插入數據

  命令:insert into <表名> [( <字段名1>[,..<字段名n > ])] values ( 值1 )[,

  ( 值n )]

  例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號爲1的名爲Tom的成績

  爲96.45, 編號爲2 的名爲Joan 的成績爲82.99,編號爲3 的名爲Wang 的成績爲

  96.5.

  mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99),

  (2,'Wang', 96.59);

  五、查詢表中的數據

  1)、查詢全部行

  命令: select <字段1,字段2,...> from < 表名 > where < 表達式 >

  例如:查看錶 MyClass 中全部數據

  mysql> select * from MyClass;

  2)、查詢前幾行數據

  例如:查看錶 MyClass 中前2行數據

  mysql> select * from MyClass order by id limit 0,2;

  或者:

  mysql> select * from MyClass limit 0,2;

  六、刪除表中數據

  命令:delete from 表名 where 表達式

  例如:刪除表 MyClass中編號爲1 的記錄

  mysql> delete from MyClass where id=1;

  七、修改表中數據:update 表名 set 字段=新值,… where 條件

  mysql> update MyClass set name='Mary' where id=1;

  七、在表中增長字段:

  命令:alter table 表名 add字段 類型 其餘;

  例如:在表MyClass中添加了一個字段passtest,類型爲int(4),默認值爲0

  mysql> alter table MyClass add passtest int(4) default '0'

  八、更改表名:

  命令:rename table 原表名 to 新表名;

  例如:在表MyClass名字更改成YouClass

  mysql> rename table MyClass to YouClass;

  更新字段內容

  update 表名 set 字段名 = 新內容

  update 表名 set 字段名 = replace(字段名,'舊內容','新內容');

  文章前面加入4個空格

  update article set content=concat('  ',content);

  字段類型

  1.INT[(M)] 型: 正常大小整數類型

  2.DOUBLE[(M,D)] [ZEROFILL] 型: 正常大小(雙精密)浮點數字類型

  3.DATE 日期類型:支持的範圍是1000-01-01到9999-12-31。MySQL以YYYY-MM-DD

  格式來顯示DATE值,可是容許你使用字符串或數字把值賦給DATE列

  4.CHAR(M) 型:定長字符串類型,當存儲時,老是是用空格填滿右邊到指定的長

  度

  5.BLOB TEXT類型,最大長度爲65535(2^16-1)個字符。

  6.VARCHAR型:變長字符串類型

  5.導入數據庫表

  (1)建立.sql文件

  (2)先產生一個庫如auction.c:mysqlbin>mysqladmin -u root -p creat

  auction,會提示輸入密碼,而後成功建立。

  (2)導入auction.sql文件

  c:mysqlbin>mysql -u root -p auction < auction.sql。

  經過以上操做,就能夠建立了一個數據庫auction以及其中的一個表auction

  。

  6.修改數據庫

  (1)在mysql的表中增長字段:

  alter table dbname add column userid int(11) not null primary key

  auto_increment;

  這樣,就在表dbname中添加了一個字段userid,類型爲int(11)。

  7.mysql數據庫的受權

  mysql>grant select,insert,delete,create,drop

  on *.* (或test.*/user.*/..)

  to 用戶名@localhost

  identified by '密碼';

  如:新建一個用戶賬號以即可以訪問數據庫,須要進行以下操做:

  mysql> grant usage

  -> ON test.*

  -> TO testuser@localhost;

  Query OK, 0 rows affected (0.15 sec)

  此後就建立了一個新用戶叫:testuser,這個用戶只能從localhost鏈接到數

  據庫並能夠鏈接到test 數據庫。下一步,咱們必須指定testuser這個用戶能夠執

  行哪些操做:

  mysql> GRANT select, insert, delete,update

  -> ON test.*

  -> TO testuser@localhost;

  Query OK, 0 rows affected (0.00 sec)

  此操做使testuser可以在每個test數據庫中的表執行Select,Insert和

  Delete以及Update查詢操做。如今咱們結束操做並退出MySQL客戶程序:

  mysql> exit

  Bye9!

  1:使用SHOW語句找出在服務器上當前存在什麼數據庫:

  mysql> SHOW DATABASES;

  2:二、建立一個數據庫MYSQLDATA

  mysql> Create DATABASE MYSQLDATA;

  3:選擇你所建立的數據庫

  mysql> USE MYSQLDATA; (按回車鍵出現Database changed 時說明操做成功!)

  4:查看如今的數據庫中存在什麼表

  mysql> SHOW TABLES;

  5:建立一個數據庫表

  mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

  6:顯示錶的結構:

  mysql> DESCRIBE MYTABLE;

  7:往表中加入記錄

  mysql> insert into MYTABLE values ("hyq","M");

  8:用文本方式將數據裝入數據庫表中(例如D:/mysql.txt)

  mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

  9:導入.sql文件命令(例如D:/mysql.sql)

  mysql>use database;

  mysql>source d:/mysql.sql;

  10:刪除表

  mysql>drop TABLE MYTABLE;

  11:清空表

  mysql>delete from MYTABLE;

  12:更新表中數據

  mysql>update MYTABLE set sex="f" where name='hyq';

  如下是無心中在網絡看到的使用MySql的管理心得,

  摘

  自:

  html

  在windows中MySql以服務形式存在,在使用前應確保此服務已經啓動,未啓動可用

  net start mysql命令啓動。而Linux中啓動時可用"/etc/rc.d/init.d/mysqld

  start"命令,注意啓動者應具備管理員權限。

  剛安裝好的MySql包含一個含空密碼的root賬戶和一個匿名賬戶,這是很大的安全

  隱患,對於一些重要的應用咱們應將安全性儘量提升,在這裏應把匿名賬戶刪除

  、 root賬戶設置密碼,可用以下命令進行:

  use mysql;

  delete from User where User="";

  update User set Password=PASSWORD('newpassword') where User='root';

  若是要對用戶所用的登陸終端進行限制,能夠更新User表中相應用戶的Host字段,

  在進行了以上更改後應從新啓動數據庫服務,此時登陸時可用以下相似命令:

  mysql -uroot -p;

  mysql -uroot -pnewpassword;

  mysql mydb -uroot -p;

  mysql mydb -uroot -pnewpassword;

  上面命令參數是經常使用參數的一部分,詳細狀況可參考文檔。此處的mydb是要登陸的

  數據庫的名稱。

  在進行開發和實際應用中,用戶不該該只用root用戶進行鏈接數據庫,雖然使用

  root用戶進行測試時很方便,但會給系統帶來重大安全隱患,也不利於管理技術的

  提升。咱們給一個應用中使用的用戶賦予最恰當的數據庫權限。如一個只進行數據

  插入的用戶不該賦予其刪除數據的權限。MySql的用戶管理是經過 User表來實現的

  ,添加新用戶經常使用的方法有兩個,一是在User表插入相應的數據行,同時設置相應

  的權限;二是經過GRANT命令建立具備某種權限的用戶。其中GRANT的經常使用用法以下

  :

  grant all on mydb.* to NewUserName@HostName identified by "password" ;

  grant usage on *.* to NewUserName@HostName identified by "password";

  grant select,insert,update on mydb.* to NewUserName@HostName identified

  by "password";

  grant update,delete on mydb.TestTable to NewUserName@HostName identified

  by "password";

  若要給此用戶賦予他在相應對象上的權限的管理能力,可在GRANT後面添加WITH

  GRANT OPTION選項。而對於用插入User表添加的用戶,Password字段應用PASSWORD

  函數進行更新加密,以防不軌之人竊看密碼。對於那些已經不用的用戶應給予清除

  ,權限過界的用戶應及時回收權限,回收權限能夠經過更新User表相應字段,也可

  以使用REVOKE操做。

  下面給出本人從其它資料()得到的對經常使用權限的解釋:

  全局管理權限:

  FILE: 在MySQL服務器上讀寫文件。

  PROCESS: 顯示或殺死屬於其它用戶的服務線程。

  RELOAD: 重載訪問控制表,刷新日誌等。

  SHUTDOWN: 關閉MySQL服務。

  數據庫/數據表/數據列權限:

  Alter: 修改已存在的數據表(例如增長/刪除列)和索引。

  Create: 創建新的數據庫或數據表。

  Delete: 刪除表的記錄。

  Drop: 刪除數據表或數據庫。

  INDEX: 創建或刪除索引。

  Insert: 增長表的記錄。

  Select: 顯示/搜索表的記錄。

  Update: 修改表中已存在的記錄。

  特別的權限:

  ALL: 容許作任何事(和root同樣)。

  USAGE: 只容許登陸--其它什麼也不容許作

相關文章
相關標籤/搜索