程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql敕令實例匯總

MySql敕令實例匯總

編輯:MySQL綜合教程

MySql敕令實例匯總。本站提示廣大學習愛好者:(MySql敕令實例匯總)文章只能為提供參考,不一定能成為您想要的結果。以下是MySql敕令實例匯總正文


本文實例總結了MySQL經常使用的各類操作敕令。分享給年夜家供年夜家參考,詳細以下:

Mysql裝置目次

數據庫目次

/var/lib/mysql/

設置裝備擺設文件

/usr/share/mysql(mysql.server敕令及設置裝備擺設文件)

相干敕令

/usr/bin(mysqladmin mysqldump等敕令)

啟動劇本

/etc/init.d/mysql(啟動劇本文件mysql的目次)

體系治理

銜接MySQL

格局: mysql -h 主機地址 -u用戶名 -p用戶暗碼

例 1:銜接到本機上的 MySQL。
hadoop@ubuntu:~$ mysql -uroot -pmysql;

例 2:銜接到長途主機上的 MYSQL。
hadoop@ubuntu:~$ mysql -h 127.0.0.1 -uroot -pmysql;

修正新暗碼

在終端輸出:mysql -u用戶名 -p暗碼,回車進入Mysql。

> use mysql;
> update user set password=PASSWORD('新暗碼') where user='用戶名';
> flush privileges; #更新權限
> quit; #加入

增長新用戶

格局:grant select on 數據庫.* to 用戶名@登錄主機 identified by '暗碼'

舉例:

例 1:增長一個用戶 test1 暗碼為 abc,讓他可以在任何主機上登錄,並對一切數據庫有
查詢、拔出、修正、刪除的權限。起首用以 root 用戶連入 MySQL,然後鍵入以下敕令:
mysql>grant select,insert,update,delete on *.* to root@localhost identified by 'mysql';
或許
grant all privileges on *.* to root@localhost identified by 'mysql';
然後刷新權限設置。
flush privileges;

例 2:假如你不想 root 有暗碼操作數據庫"mydb"裡的數據表,可以再打一個敕令將暗碼消失落。
grant select,insert,update,delete on mydb.* to root@localhost identified by '';

刪除用戶

hadoop@ubuntu:~$ mysql -u用戶名 -p暗碼
mysql>delete from user where user='用戶名' and host='localhost';
mysql>flush privileges;
//刪除用戶的數據庫
mysql>drop database dbname;

數據庫操作

顯示一切的數據庫
mysql> show databases;(留意:最初有個 s)

創立數據庫
mysql> create database test;

銜接數據庫
mysql> use test;

檢查以後應用的數據庫
mysql> select database();

以後數據庫包括的表信息
mysql> show tables; (留意:最初有個 s)

刪除數據庫
mysql> drop database test;

表操作

備注:操作之前應用"use <數據庫名>"應銜接某個數據庫。

建表

敕令: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 )]
例子:
mysql> insert into MyClass values(1,'Tom',96.45),(2,'Joan',82.99), (2,'Wang', 96.59);

查詢表中的數據

查詢一切行
mysql> select * from MyClass;

查詢前幾行數據

例如:檢查表 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);

數據庫導入導出

從數據庫導出數據庫文件

應用"mysqldump"敕令

起首進入 DOS 界面,然落後行上面操作。

1)導出一切數據庫

格局:mysqldump -u [數據庫用戶名] -p -A>[備份文件的保留途徑]

2)導出數據和數據構造

格局:mysqldump -u [數據庫用戶名] -p [要備份的數據庫稱號]>[備份文件的保留途徑]

舉例:

例 1:將數據庫 mydb 導出到 e:\MySQL\mydb.sql 文件中。

翻開開端->運轉->輸出"cmd",進入敕令行形式。
c:\> mysqldump -h localhost -u root -p mydb >e:\MySQL\mydb.sql
然後輸出暗碼,期待一會導出就勝利了,可以到目的文件中檢討能否勝利。

例 2:將數據庫 mydb 中的 mytable 導出到 e:\MySQL\mytable.sql 文件中。
c:\> mysqldump -h localhost -u root -p mydb mytable>e:\MySQL\mytable.sql

例 3:將數據庫 mydb 的構造導出到 e:\MySQL\mydb_stru.sql 文件中。
c:\> mysqldump -h localhost -u root -p mydb --add-drop-table >e:\MySQL\mydb_stru.sql
備注:-h localhost 可以省略,其普通在虛擬主機上用。

3)只導出數據不導出數據構造

格局:

mysqldump -u [數據庫用戶名] -p -t [要備份的數據庫稱號]>[備份文件的保留途徑]

4)導出數據庫中的Events

格局:

mysqldump -u [數據庫用戶名] -p -E [數據庫用戶名]>[備份文件的保留途徑]

5)導出數據庫中的存儲進程和函數

格局:

mysqldump -u [數據庫用戶名] -p -R [數據庫用戶名]>[備份文件的保留途徑]

從內部文件導入數據庫中

1)應用"source"敕令

起首進入"mysql"敕令掌握台,然後創立數據庫,然後應用該數據庫。最初履行上面操作。

mysql>source [備份文件的保留途徑]

2)應用"<"符號

起首進入"mysql"敕令掌握台,然後創立數據庫,然撤退退卻出 MySQL,進入 DOS 界面。最初履行上面操作。

mysql -u root –p < [備份文件的保留途徑]

經常使用MySQL語句彌補:

1. 應用SHOW語句找出在辦事器受騙前存在甚麼數據庫:
mysql> SHOW DATABASES;
2. 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的治理心得:

在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操作。

上面給出自己從其它材料(www.cn-java.com)取得的對經常使用權限的說明:

全局治理權限:

FILE: 在MySQL辦事器上讀寫文件。
PROCESS: 顯示或殺逝世屬於其它用戶的辦事線程。
RELOAD: 重載拜訪掌握表,刷新日記等。
SHUTDOWN: 封閉MySQL辦事。
數據庫/數據表/數據列權限:
ALTER: 修正已存在的數據表(例如增長/刪除列)和索引。
CREATE: 樹立新的數據庫或數據表。
DELETE: 刪除表的記載。
DROP: 刪除數據表或數據庫。
INDEX: 樹立或刪除索引。
INSERT: 增長表的記載。
SELECT: 顯示/搜刮表的記載。
UPDATE: 修正表中已存在的記載。
特殊的權限:
ALL: 許可做任何事(和root一樣)。
USAGE: 只許可登錄–其它甚麼也不許可做。

願望本文所述對年夜家MySQL數據庫設計有所贊助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved