2. MYSQL的概念
MySQL是一個關系型資料庫管理系統,由瑞典 MySQL AB 公司開發,目前屬於 Oracle 旗下公司。MySQL 最流行的關系型資料庫管理系統,在 WEB 應用方面 MySQL 是最好的 RDBMS (Relational Database Management System,關系資料庫管理系統) 應用軟體之一。
MySQL 是一種關聯資料庫管理系統,關聯資料庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。MySQL 所使用的 SQL 語言是用於訪問資料庫的最常用標准化語言。MySQL 軟體採用了雙授權政策,它分為社區版和商業版,由於其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點,一般中小型網站的開發都選擇 MySQL 作為網站資料庫。由於其社區版的性能卓越,搭配 PHP 和 Apache 可組成良好的開發環境。
3. Mysql資料庫的安全配置、實用技巧
1、前言
MySQL 是完全網路化的跨平台關系型資料庫系統,同時是具有客戶機/伺服器體系結構的分布式資料庫管理系統。它具有功能強、使用簡便、管理方便、運行速度快、安全可靠性強等優點,用戶可利用許多語言編寫訪問MySQL 資料庫的程序,特別是與PHP更是黃金組合,運用十分廣泛。
由於MySQL是多平台的資料庫,它的默認配置要考慮各種情況下都能適用,所以在我們自己的使用環境下應該進行進一步的安全加固。作為一個MySQL的系統管理員,我們有責任維護MySQL資料庫系統的數據安全性和完整性。
MySQL資料庫的安全配置必須從兩個方面入手,系統內部安全和外部網路安全,另外我們還將簡單介紹編程時要注意的一些問題以及一些小竅門。
2、系統內部安全
首先簡單介紹一下MySQL資料庫目錄結構。MySQL安裝好,運行了mysql_db_install腳本以後就會建立數據目錄和姿手初始化資料庫。如果我們用MySQL源碼包安裝,而且安裝目錄是/usr/local/mysql,那麼數據目錄一般會是/usr/local/mysql/var。資料庫系統由一系列資料庫組成,每個資料庫包含一系列資料庫表。MySQL是用資料庫名在數據目錄建立建立一個資料庫目錄,各資料庫表分別以資料庫表名作為文件名,擴展名分別為MYD、MYI、frm的三個文件放到資料庫目錄中。
MySQL的授權表給資料庫的訪問提供了靈活的許可權控制,但是如果本地用戶擁有對庫文件的讀許可權的話,攻擊者只需把資料庫目錄打包拷走,謹哪然後拷到自己本機的數據目錄下就祥冊碼能訪問竊取的資料庫。所以MySQL所在的主機的安全性是最首要的問題,如果主機不安全,被攻擊者控制,那麼MySQL的安全性也無從談起。其次就是數據目錄和數據文件的安全性,也就是許可權設置問題。
從MySQL主站一些老的binary發行版來看,3.21.xx版本中數據目錄的屬性是775,這樣非常危險,任何本地用戶都可以讀數據目錄,所以資料庫文件很不安全。3.22.xx版本中數據目錄的屬性是770,這種屬性也有些危險,本地的同組用戶既能讀也能寫,所以數據文件也不安全。3.23.xx版本數據目錄的屬性是700,這樣就比較好,只有啟動資料庫的用戶可以讀寫資料庫文件,保證了本地數據文件的安全。
如果啟動MySQL資料庫的用戶是mysql,那麼象如下的目錄和文件的是安全的,請注意數據目錄及下面的屬性:
shellls -l /usr/local/mysql
total 40
drwxrwxr-x 2 root root 4096 Feb 27 20:07 bin
drwxrwxr-x 3 root root 4096 Feb 27 20:07 include
drwxrwxr-x 2 root root 4096 Feb 27 20:07 info drwxrwxr-x 3 root root 4096 Feb 27 20:07 lib drwxrwxr-x 2 root root 4096 Feb 27 20:07 libexec drwxrwxr-x 3 root root 4096 Feb 27 20:07 man drwxrwxr-x 6 root root 4096 Feb 27 20:07 mysql-test drwxrwxr-x 3 root root 4096 Feb 27 20:07 share drwxrwxr-x 7 root root 4096 Feb 27 20:07 sql-bench drwx------ 4 mysql mysql 4096 Feb 27 20:07 var
shellls -l /usr/local/mysql/var
total 8
drwx------ 2 mysql mysql 4096 Feb 27 20:08 mysql
drwx------ 2 mysql mysql 4096 Feb 27 20:08 test
shellls -l /usr/local/mysql/var/mysql
total 104
-rw------- 1 mysql mysql 0 Feb 27 20:08 columns_priv.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 columns_priv.MYI
-rw------- 1 mysql mysql 8778 Feb 27 20:08 columns_priv.frm
-rw------- 1 mysql mysql 302 Feb 27 20:08 db.MYD
-rw------- 1 mysql mysql 3072 Feb 27 20:08 db.MYI
-rw------- 1 mysql mysql 8982 Feb 27 20:08 db.frm
-rw------- 1 mysql mysql 0 Feb 27 20:08 func.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 func.MYI
-rw------- 1 mysql mysql 8641 Feb 27 20:08 func.frm
-rw------- 1 mysql mysql 0 Feb 27 20:08 host.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 host.MYI
-rw------- 1 mysql mysql 8958 Feb 27 20:08 host.frm
-rw------- 1 mysql mysql 0 Feb 27 20:08 tables_priv.MYD
-rw------- 1 mysql mysql 1024 Feb 27 20:08 tables_priv.MYI
-rw------- 1 mysql mysql 8877 Feb 27 20:08 tables_priv.frm
-rw------- 1 mysql mysql 428 Feb 27 20:08 user.MYD
-rw------- 1 mysql mysql 2048 Feb 27 20:08 user.MYI
-rw------- 1 mysql mysql 9148 Feb 27 20:08 user.frm
如果這些文件的屬主及屬性不是這樣,請用以下兩個命令修正之:
shellchown -R mysql.mysql /usr/local/mysql/var
shellchmod -R go-rwx /usr/local/mysql/var
4. mysql 常用命令手冊
之前介紹了一系列的mysql基礎知識,今天我們將MySQL常用的功能命令整理出來,供大家參考使用!
1.導出整個資料庫
mysqlmp -u 用戶名 -p –default-character-set=latin1 資料庫名 > 導出的文件名(資料庫默認編碼是latin1)
mysqlmp -u wcnc -p smgp_apps_wcnc > wcnc.sql
2.導出一個表
mysqlmp -u 用戶名 -p 資料庫名 表名> 導出的文件名
mysqlmp -u wcnc -p smgp_apps_wcnc users> wcnc_users.sql
3.導出一個資料庫結構
mysqlmp -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-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:使用mysqlmp命令
mysqlmp -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>
2、退出MySQL:quit或exit
庫操作
1、創建資料庫
命令:create database <資料庫名>
例如:建立一個名為sqlroad的資料庫
mysql> create database sqlroad;
2、顯示所有的資料庫
命令:show databases (注意:最後有個s)
mysql> show databases;
3、刪除資料庫
命令:drop database <資料庫名>
例如:刪除名為 sqlroad的資料庫
mysql> drop database sqlroad;
4、連接資料庫
命令:use <資料庫名>
例如:如果sqlroad資料庫存在,嘗試存取它:
mysql> use sqlroad;
屏幕提示:Database changed
5、查看當前使用的資料庫
mysql> select database();
6、當前資料庫包含的表信息:
mysql> show tables; (注意:最後有個s)
表操作,操作之前應連接某個資料庫
1、建表
命令:create table <表名> ( <欄位名> <類型> [,..<欄位名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 』′,
> degree double(16,2));
2、獲取表結構
命令:desc 表名,或者show columns from 表名
mysql>DESCRIBE MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
3、刪除表
命令:drop table <表名>
例如:刪除表名為 MyClass 的表
mysql> drop table MyClass;
4、插入數據
命令:insert into <表名> [( <欄位名>[,..<欄位名n> ])] values ( 值 )[, ( 值n )]
例如,往表 MyClass中插入二條記錄, 這二條記錄表示:編號為的名為Tom的成績為.45, 編號為 的名為Joan 的成績為.99,編號為 的名為Wang 的成績為.5.
mysql> insert into MyClass values(1,』Tom』,96.45),(2,』Joan』,82.99), (2,』Wang』, 96.59);
5、查詢表中的數據
11)、查詢所有行
命令:select <欄位,欄位,...> from < 表名 > where < 表達式 >
例如:查看錶 MyClass 中所有數據
mysql> select * from MyClass;
12)、查詢前幾行數據
例如:查看錶 MyClass 中前行數據
mysql> select * from MyClass order by id limit 0,2;
或者:
mysql> select * from MyClass limit 0,2;
6、刪除表中數據
命令:delete from 表名 where 表達式
例如:刪除表 MyClass中編號為 的記錄
mysql> delete from MyClass where id=1;
7、修改表中數據:
update 表名 set 欄位=新值,…where 條件
mysql> update MyClass set name=』Mary』where id=1;
8、在表中增加欄位:
1命令:alter table 表名 add欄位 類型 其他;
3例如:在表MyClass中添加了一個欄位passtest,類型為int(4),默認值為
5mysql> alter table MyClass add passtest int(4) default 』′
9、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改為YouClass
mysql> rename table MyClass to YouClass;
更新欄位內容
update 表名 set 欄位名 = 新內容
update 表名 set 欄位名 = replace(欄位名,』舊內容』, 新內容』)
update article set content=concat(『』,content);
欄位類型和資料庫操作
1.INT[(M)] 型:正常大小整數類型
2.DOUBLE[(M,D)] [ZEROFILL] 型:正常大小(雙精密)浮點數字類型
3.DATE 日期類型:支持的范圍是-01-01到-12-31。MySQL以YYYY-MM-DD格式來顯示DATE值,但是允許你使用字元串或數字把值賦給DATE列
4.CHAR(M) 型:定長字元串類型,當存儲時,總是是用空格填滿右邊到指定的長度
5.BLOB TEXT類型,最大長度為(2^16-1)個字元。
6.VARCHAR型:變長字元串類型
7.導入資料庫表
創建.sql文件
先產生一個庫如auction.c:mysqlbin>mysqladmin -u root -p creat auction,會提示輸入密碼,然後成功創建。
導入auction.sql文件
c:mysqlbin>mysql -u root -p auction < auction.sql。
通過以上操作,就可以創建了一個資料庫auction以及其中的一個表auction。
8.修改資料庫
在mysql的表中增加欄位:
alter table dbname add column userid int(11) not null primary key auto_increment;
這樣,就在表dbname中添加了一個欄位userid,類型為int(11)。
9.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
DDL操作
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』;
5. mysql問題
輸入show databases;
你少了個s,還少了個分號.
給你點資料:
MySQL命令行~ZZ~
2009年04月11日 星期六 20:58
第一招、mysql服務的啟動和停止
net stop mysql
net start mysql
第二招、登陸mysql
語法如下: mysql -u用戶名 -p用戶密碼
鍵入命令mysql -uroot -p, 回車後提示你輸入密碼,輸入12345,然後回車即可進入到mysql中了,mysql的提示符是:
mysql>
注意,如果是連接到另外的機器上,則需要加入一個參數-h機器IP
第三招、增加新用戶
格式:grant 許可權 on 資料庫.* to 用戶名@登錄主機 identified by "密碼"
如,增加一個用戶user1密碼為password1,讓其可以在本機上登錄, 並對所有資料庫有查詢、插入、修改、刪除的許可權。首先用以root用戶連入mysql,然後鍵入以下命令:
grant select,insert,update,delete on *.* to user1@localhost Identified by "password1";
如果希望該用戶能夠在任何機器上登陸mysql,則指燃將localhost改為"%"。
如果你不想user1有密碼,可以再打一個命令將密碼去掉。
grant select,insert,update,delete on mydb.* to user1@localhost identified by "";
第四招: 操作資料庫
登錄到mysql中,然後在mysql的提示符下運行下列命令,每個命令以分號結束。
1、 顯示資料庫列表。
show databases;
預設有兩個資料庫:mysql和test。 mysql庫存放著mysql的系統和用戶許可權信息,我們改密碼和新增用戶,實際上就是對這個庫進行操作。
2、 顯示庫中的數據表:
use mysql;
show tables;
3、 顯示數據表的結構:
describe 表名;
4、 建庫與刪庫:
create database 庫名;
drop database 庫名;
5、 建表:
use 庫名;
create table 表名(欄位列表);
drop table 表名;
6、 清空表中記錄:
delete from 表名;
7、 顯示表中的記錄:
select * from 表名;
第五招、導出和導入數據
1. 導出數據:
mysqlmp --opt test > mysql.test
即將資料庫test資料庫導出到mysql.test文件,後者是一個文本文件
如:mysqlmp -u root -p123456 --databases dbname > mysql.dbname
就是把資料庫dbname導出到文件mysql.dbname中。
2. 導入數據:
mysqlimport -u root -p123456 < mysql.dbname。
不用解釋了吧。
3. 將文本數據導入資料庫:
文本數據的欄位數據之間用tab鍵隔開。
use test;
load data local infile "文件名" into table 表名;
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'; posted on 2006-01-10 16:21 happytian 閱讀(6) 評論(0) 編輯 收藏 收藏至365Key13:備份資料庫mysqlmp -u root 庫名>xxx.data14:例2:連接到遠程主機上的MYSQL
假設遠程主機的IP為:110.110.110.110,用戶名為root,密碼為abcd123。則鍵入以下命令:
mysql -h110.110.110.110 -uroot -pabcd123
(注:u與root可以不用加空格,其它也一樣)
3、退出MYSQL命令: exit
基礎介紹:
1.在linux下使用下列命令,請確認mysql的bin目錄是否已經加入到PATH路徑中,或者是已經進入到mysql安裝路徑下的bin目錄
查看PATH
shell> echo $PATH
或者
shell> cd /usr/local/mysql/bin
2.windows下,請運行cmd後,同樣檢查mysql的bin目錄是否已加入到系統的PATH路徑中,或直接進入mysql的安裝目錄
下面所有操作都是確認你以檢查mysql的bin目錄已加入到系統的PATH路徑中,或已經進入mysql的安裝目錄的bin目錄下
1]如何創建mysqld資料庫的管理用戶?
資料庫安裝好後,我們應該為mysql資料庫創建一個管理帳號。要把root用戶設置為管理員,我們應該運行下面的命令;
shell> mysqladmin -u root password 123456
通過上面的命令,我們可以知道,mysql資料庫的管理員是root,密碼是123456。
2]如何進入mysql資料庫?以mysql資料庫管理員root,密碼為123456為例;
shell> mysql -uroot -p123456
輸出上面的命令後,出現的是如下的提示;
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 6 to server version: 3.23.58
Type 'help;' or '/h' for help. Type '/c' to clear the buffer.
mysql>
注意:操作這些命令的時候,應該把mysqld伺服器打開。這些新手兄弟早就知道了吧:)
3]如何在資料庫中操作命令呢,我想這是mysql手冊都有的,我主要說幾個要注意的地方。其實我也會不了幾個命令。如果自己想學的弟兄,也不是什麼難事;在windows中操作過mysql的,其實在這里也是一樣的,mysql是跨平台的資料庫,用法都是相同的。
在mysql資料庫中,每操作一個命令,都是;號結尾的,可能有的新手弟兄,忘記輸入了;號結尾,結果退不出來。:):)
1]查看mysql中都有哪些資料庫?
代碼:
mysql>
show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec) mysql>
在mysql安裝好,設置好管理員後,第一次進入系統,我們用show databases;命令查看資料庫的列表,發現有兩個資料庫,mysql和test,這是系統自建的,是讓大家練慣用的。
4]如何創建和刪除一個資料庫?
比如我要創建一個名為linux的資料庫,應該運行如下命令
mysql> create database [資料庫名];
所以我們應該運行如下的命令,來創建名為linux的資料庫
mysql> create database linux;
Query OK, 1 row affected (0.00 sec)
是不是建好了呢??肯定是建好了,因為都有OK了:)
查看是不是有linux這個資料庫了呢?
代碼:
mysql> show databases;
+----------+
| Database |
+----------+
| linux |
| mysql |
| test |
+----------+
3 rows in set (0.00 sec)
那我們如何刪除一個資料庫呢??
mysql> drop database [資料庫名];
比如我們要把剛才創建的linux資料庫刪除,應該用下面的命令;
mysql> drop database linux;
Query OK, 0 rows affected (0.00 sec)
是不是已經刪除了呢??
代碼:
mysql> show databases;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.00 sec)
5]如何操作一個資料庫呢,這個問題就比較多了,建議還是看一下mysql的手冊吧。裡面的東西太多了。如果操作一個資料庫,首先是要指定一個資料庫為當前資料庫,應該用use命令
mysql>use [資料庫];
比如我想指定linux這個資料庫為當前資料庫,應該是
mysql> use linux;
Database changed
6]如何備份資料庫??
比如我們要備份mysql中已經存在的名為linux的資料庫,要用到命令mysqlmp
命令格式如下:
shell> mysqlmp -uroot -p linux > /root/linux.sql
Enter password:在這里輸入資料庫的密碼
通過上面的命令,我們要明白兩件事,首先備份資料庫是要以資料庫管理員的身份備份;其次:備份目的地是/root,備份的文件名是linux.sql。其實備份的位置和文件名,根據自己的情況來定。文件名可以自己來取,路徑也可以自己來安排;
比如我想把linux的資料庫備份到/home/beinan,資料庫的文件名為linuxsir031130.sql,所以應該輸入如下的命令。
shell> mysqlmp -uroot -p linux > /home/beinan/linuxsir031130.sql
Enter password:在這里輸入資料庫管理員root的資料庫密碼
這樣我們到/home/beinan目錄下就能發現mysql中名為linux的資料庫的備份文件linuxsir031130.sql
綜上所述,我們學習時要學會變通。:):)
5]如何把把備份的資料庫導入到資料庫中?
首先我們還是要操作上面幾個過程,比如添加資料庫管理員(如果您沒有添加過mysql資料庫管理員的話),創建資料庫等。
比如我們要把在/home/beinan這個目錄中的linuxsir031130.sql這個備份,導入名為linux的資料庫中,應該如下操作;
shell> mysql -uroot -p linux < /home/beinan/linuxsir031130.sql
Enter password:在這里輸入密碼
如果機器好,資料庫比較小,幾分鍾就好了。
6]其它一些比較常用的mysql指令;
查看狀態
mysql> show status;
查看進程
代碼:
mysql> show processlist;
+----+------+-----------+------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |
+----+------+-----------+------+---------+------+-------+------------------+| 16 | root | localhost | NULL | Query | 0 | NULL | show processlist |
+----+------+-----------+------+---------+------+-------+------------------+
1 row in set (0.00 sec)
查看錶,應該先指定一個資料庫為當前資料庫;比如是名為linux的資料庫;
mysql>use linux;
mysql> show tables;
Empty set (0.00 sec)
7]對mysql資料庫常用命令的一點補充;
幾個常用的mysql相關的管理命令
mysql 命令:基本文本的,顯示和使用的mysql資料庫。前面已經簡單的提過用法;比如登錄等。
mysqladmin 命令,用來創建和維護mysql資料庫的命令,前面已經簡單的提過;
isamchk 是用來修復、檢查和優化.ism後綴的資料庫文件;
mysqlmp 是用於備份資料庫,前面已經簡單的說明過;
myisamchk 用來修復.myi後綴的資料庫文件;
比如我們要檢查名為linux的資料庫.myi資料庫表是否存在問題,應該用下面的命令;
要把mysqld伺服器停下來
shell> ../share/mysql.server stop
然後執行
shell> myisamchk ../var/linux/*.MYI
上面的命令的意思就是檢查所有的.myi文件,資料庫的目錄在../var/linux/目錄中
如果有問題,應該用-r參數來修復
shell> myisamchk -r ../var/linux/*.MYI
6]mysqlshow 命令:顯示用戶選擇的資料庫和表
shell> mysqlshow -uroot -p [資料庫名]
比如我要查看名為linux的資料庫;應該是:
shell> mysqlshow -uroot -p linux
好了,到這里,你可能已經知道命令行下的所有基本操作了~
ps:補充一個。。
更改ROOT帳號名。
update set user="新名字" where user="舊名字";
6. mysql基本操作有哪些
mysql基本操作有:
命令行
1、顯示當前資料庫伺服器中的資料庫列表:mysql> SHOW DATABASES;
2、建立資料庫:mysql> CREATE DATABASE 庫名;
3、建立數據表:mysql> USE 庫名;mysql> CREATE TABLE 表名 (欄位名 VARCHAR(20), 欄位名 CHAR(1));
4、刪除資料庫:mysql> DROP DATABASE 庫名;
5、刪除數據表:mysql> DROP TABLE 表名;
6、將表中記錄清空:mysql> DELETE FROM 表名;
7、往表中插入記錄:mysql> INSERT INTO 表名 VALUES ("hyq","M");
8、更新表中數據:mysql-> UPDATE 表名 SET 欄位名1='a',欄位名2='b' WHERE 欄位名3='c';
9、用文本方式將數據裝入數據表中:mysql> load data local infile "d:/mysql.txt" into table 表名;
10、導入.sql文件命令:mysql> USE 資料庫名;mysql> source d:/mysql.sql;
11、命令行修改root密碼:mysql> update mysql.user set password=password('新密碼') where user='root';mysql> flush privileges;
12.修改密碼的三種方法:mysql>update user set password=password('123456') where user='joy_pen';mysql>flush privileges;mysql>set password for 'joy_oen'=password('123456');mysql>grant usage on *.* to 'joy_pen' identified by '123456';
1、創建資料庫
命令:create database <資料庫名> 例如:建立一個名為xhkdb的資料庫mysql> create database xhkdb;
2、顯示所有的資料庫
命令:show databases (注意:最後有個s)mysql> show databases;
3、刪除資料庫
命令:drop database <資料庫名> 例如:刪除名為 xhkdb的資料庫mysql> drop database xhkdb;
4、連接資料庫
命令: use <資料庫名> 例如:如果xhkdb資料庫存在,嘗試存取它:mysql> use xhkdb; 屏幕提示:Database changed
5、當前選擇(連接)的資料庫mysql> select database();
6、當前資料庫包含的表信息:mysql> show tables; (注意:最後有個s)
三、表操作,操作之前應連接某個資料庫
1、建表
命令: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));
2、獲取表結構
命令: desc 表名,或者show columns from 表名
mysql>DESCRIBE MyClass
mysql> desc MyClass;
mysql> show columns from MyClass;
3、刪除表
命令:drop table <表名>
例如:刪除表名為 MyClass 的表 mysql> drop table MyClass;
4、插入數據
命令: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);
5、查詢表中的數據
1)、查詢所有行
命令: select <欄位1,欄位2,...> from < 表名 > where < 表達式 >
例如:查看錶 MyClass 中所有數據 mysql> select * from MyClass;
2)、查詢前幾行數據
例如:查看錶 MyClass 中前2行數據
mysql> select * from MyClass order by id limit 0,2;
6、刪除表中數據
命令:delete from 表名 where 表達式
例如:刪除表 MyClass中編號為1 的記錄
mysql> delete from MyClass where id=1;
7、修改表中數據:update 表名 set 欄位=新值,… where 條件
mysql> update MyClass set name=''Mary'' where id=1;
8、在表中增加欄位:
命令:alter table 表名 add 欄位 類型 其他;
例如:在表MyClass中添加了一個欄位passtest,類型為int(4),默認值為0
mysql> alter table MyClass add passtest int(4) default ''0''
9、更改表名:
命令:rename table 原表名 to 新表名;
例如:在表MyClass名字更改為YouClass
mysql> rename table MyClass to YouClass;
更新欄位內容
update 表名 set 欄位名 = 新內容
update 表名 set 欄位名 = replace(欄位名,''舊內容'',''新內容'');