查看當(dāng)前使用的數(shù)據(jù)庫(kù),可使用如下命令
在海南等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作定制開(kāi)發(fā),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷,成都外貿(mào)網(wǎng)站建設(shè)公司,海南網(wǎng)站建設(shè)費(fèi)用合理。
mysql select database(); #使用函數(shù)database()
mysql show tables; #列頭信息中可看出當(dāng)前使用的db,格式為:Tables_in_[db_name]
mysql status; #注意結(jié)果中的"Current database:"信息
查看系統(tǒng)中有哪些數(shù)據(jù)庫(kù),
mysql show databases;
更換當(dāng)前使用的數(shù)據(jù)庫(kù),
mysql use db_name;
返回當(dāng)前數(shù)據(jù)庫(kù)下的所有表的名稱
mysql show tables;
或者直接用如下命令
mysql show tables from db_name;
查看表結(jié)構(gòu),可使用如下命令
mysql desc 表名;
mysql describe 表名;
mysql show columns from 表名;
mysql show create table 表名;
或者,
mysql use information_schema
mysql select * from columns where table_name='表名';
15個(gè) MySQL 菜鳥(niǎo)問(wèn)題
問(wèn)題1:你如何確定 MySQL 是否處于運(yùn)行狀態(tài)?
答案: Debian 上運(yùn)行命令 service mysql status,在RedHat 上運(yùn)行命令 service mysqld status。然后看看輸出即可。
問(wèn)題2:如何開(kāi)啟或停止 MySQL 服務(wù)?
答案:運(yùn)行命令 service mysqld start 開(kāi)啟服務(wù);運(yùn)行命令 service mysqld stop 停止服務(wù)。
問(wèn)題3:如何通過(guò) Shell 登入 MySQL?
答案:運(yùn)行命令 mysql -u root -p
問(wèn)題4:如何列出所有數(shù)據(jù)庫(kù)?
答案:運(yùn)行命令 show databases;
問(wèn)題5: 如何切換到某個(gè)數(shù)據(jù)庫(kù)并在上面工作?
答案:運(yùn)行命令 use database_name; 進(jìn)入名為 database_name 的數(shù)據(jù)庫(kù)。
問(wèn)題6:如何列出某個(gè)數(shù)據(jù)庫(kù)內(nèi)所有表?
答案:在當(dāng)前數(shù)據(jù)庫(kù)運(yùn)行命令 show tables;
問(wèn)題7:如何獲取表內(nèi)所有 Field 對(duì)象的名稱和類型?
答案:運(yùn)行命令 describe table_name;
問(wèn)題8:如何刪除表?
答案:運(yùn)行命令 drop table table_name;
問(wèn)題9:如何刪除數(shù)據(jù)庫(kù)?
答案:運(yùn)行命令 drop database database-name;
問(wèn)題10:如何查看表內(nèi)所有數(shù)據(jù)?
答案:運(yùn)行命令 select * from table_name;
問(wèn)題11:如何從表(比如 oc_users )中獲取一個(gè) field 對(duì)象(比如 uid)的所有數(shù)據(jù)?
答案:運(yùn)行命令 select uid from oc_users;
問(wèn)題12:假設(shè)你有一個(gè)名為 ‘xyz’ 的表,它存在多個(gè)字段,如 ‘createtime’ 和 ‘engine’。名為 engine 的字段由 ‘Memoty’ 和 ‘MyIsam’ 兩種數(shù)值組成。如何只列出 ‘createtime’ 和 ‘engine’ 這兩列并且 engine 的值為 ‘MyIsam’?
答案:運(yùn)行命令 select create_time, engine from xyz where engine = ”MyIsam”;
問(wèn)題13:如何列出表 ‘xrt’ 內(nèi) name 域值為 ‘tecmint’,web_address 域值為 ‘tecmint.com’ 的所有數(shù)據(jù)?
答案:運(yùn)行命令 select * from xrt where name = “tecmint” and web_address = “tecmint.com”;
問(wèn)題14:如何列出表 ‘xrt’ 內(nèi) name 域值不為 ‘tecmint’,web_address 域值為 ‘tecmint.com’ 的所有數(shù)據(jù)?
答案:運(yùn)行命令 select * from xrt where name != "tecmint" and web_address = "tecmint.com";
問(wèn)題15:如何知道表內(nèi)行數(shù)?
答案:運(yùn)行命令 select count(*) from table_name;
mysql -uroot -p輸入root密碼進(jìn)去即可查看。
具體情況簡(jiǎn)單說(shuō)明:
1、顯示數(shù)據(jù)庫(kù)
show databases;
2、選擇數(shù)據(jù)庫(kù)
use 數(shù)據(jù)庫(kù)名;
3、顯示數(shù)據(jù)庫(kù)中的表
show tables;
4、顯示數(shù)據(jù)表的結(jié)構(gòu)
describe 表名;
5、顯示表中記錄
SELECT * FROM 表名;
6、建庫(kù)
create databse 庫(kù)名。
被取消的命令MySQL 之前提供了一個(gè) rename database db_old to db_new 的命令來(lái)直接對(duì)數(shù)據(jù)庫(kù)改名,可能由于實(shí)現(xiàn)的功能不完備(比如,這條命令可能是一個(gè)超大的事務(wù),或者是由于之前的表很多還是 MyISAM 等),后來(lái)的版本直接取消了這條命令。更改數(shù)據(jù)庫(kù)名大致上有以下幾種方案:
一、mysqldump 導(dǎo)入導(dǎo)出要說(shuō)最簡(jiǎn)單的方法,就是直接用 mysqldump 工具,在舊庫(kù)導(dǎo)出再往新庫(kù)導(dǎo)入(最原始、最慢、最容易想到)的方法:舊庫(kù) yttdb_old 導(dǎo)出(包含的對(duì)象:表、視圖、觸發(fā)器、事件、存儲(chǔ)過(guò)程、存儲(chǔ)函數(shù))
二、改整庫(kù)的表名利用 MySQL 更改表名的方法來(lái)批量把舊庫(kù)的所有表依次遍歷,改名為新庫(kù)的表。這種方法比第一種要快很多倍,但是沒(méi)有第一步操作起來(lái)那么順滑,不能一步到位。比如,要把數(shù)據(jù)庫(kù) yttdb_old 改名為 yttdb_new,如果數(shù)據(jù)庫(kù) yttdb_old 里只有磁盤(pán)表,那很簡(jiǎn)單,直接改名即可?;蛘邔?xiě)個(gè)腳本來(lái)批量改,非常簡(jiǎn)單。但是一般舊庫(kù)里不只有磁盤(pán)表,還包含其他各種對(duì)象。這時(shí)候可以先考慮把舊庫(kù)的各種對(duì)象導(dǎo)出來(lái),完了在逐一改完表名后導(dǎo)進(jìn)去。
三、歷史方案其實(shí)在 MySQL 早期還有一種方法。假設(shè) MySQL 部署好了后,所有的 binlog 都有備份,并且二進(jìn)制日志格式還是 statement 的話,那就可以簡(jiǎn)單搭建一臺(tái)從機(jī),讓它慢慢追主機(jī)到新的庫(kù)名,等確切要更改舊庫(kù)的時(shí)候,再直接晉升從機(jī)為主機(jī)即可。這里只需要從機(jī)配置一個(gè)參數(shù)來(lái)把舊庫(kù)指向?yàn)樾聨?kù):replicate-rewrite-db=yttdb_old-yttdb_new不過(guò)這種局限性很大,不具備標(biāo)準(zhǔn)化,不推薦。
總結(jié)其實(shí)針對(duì) MySQL 本身改庫(kù)名,大致就這么幾種方法:
如果數(shù)據(jù)量小,推薦第一種;
數(shù)據(jù)量大,則推薦第二種;
數(shù)據(jù)量巨大,那就非 MySQL 本身能解決的了。
可通過(guò)部署第三方 ETL 工具,通過(guò)解析 MySQL 二進(jìn)制日志或其他的方式來(lái)把舊庫(kù)數(shù)據(jù)直接讀取到新庫(kù)達(dá)到改名的目的等等。
mysql創(chuàng)建數(shù)據(jù)庫(kù)方法如下
1.創(chuàng)建數(shù)據(jù)庫(kù)。在MySQL命令行中,輸入命令CREATE DATABASE ;。 把命令中的替換為你的數(shù)據(jù)庫(kù)的名稱。其中不能包含空格。 例如,要?jiǎng)?chuàng)建包含所有美國(guó)各州的...
2.顯示可用數(shù)據(jù)庫(kù)列表。輸入命令SHOW DATABASES;列出所有已保存的數(shù)據(jù)庫(kù)。除了你所創(chuàng)建的數(shù)據(jù)庫(kù)外,你還將看到一個(gè)mysql數(shù)據(jù)庫(kù)和一個(gè)test數(shù)據(jù)庫(kù)。當(dāng)前你可以忽略它們。
3.選擇你的數(shù)據(jù)庫(kù)。創(chuàng)建數(shù)據(jù)庫(kù)后,你需要在對(duì)其進(jìn)行編輯前先選中它。輸入命令USE us_states
需要到Eclipse來(lái)實(shí)現(xiàn)。
1、首先我們使用數(shù)據(jù)庫(kù)連接工具HeiDiSQL來(lái)連接本機(jī)的mysql數(shù)據(jù)庫(kù),
2、使用該工具創(chuàng)建一個(gè)test數(shù)據(jù)庫(kù),
3、在該數(shù)據(jù)庫(kù)中創(chuàng)建一張student表,該表中有id、name和age字段,我們同時(shí)給數(shù)據(jù)庫(kù)添加數(shù)據(jù),如下圖所示。
4、我們創(chuàng)建一個(gè)Student類,并為該類分別創(chuàng)建id、name和age屬性,并用private修飾符進(jìn)行限定。接下來(lái)我們?yōu)檫@些屬性創(chuàng)建getter和setter方法,如下圖所示。
5、我們創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)連接類,用于配置數(shù)據(jù)庫(kù)連接的屬性,如數(shù)據(jù)庫(kù)的驅(qū)動(dòng)、URL、用戶名和密碼。
6、我們創(chuàng)建完數(shù)據(jù)庫(kù)的連接后,使用getConnection()方法獲取連接,
7、使用close()方法關(guān)閉連接。我們?cè)谑褂胢ysql時(shí)需要添加smysql驅(qū)動(dòng)的jar包。
8、接下來(lái)我們創(chuàng)建MVC模式中的數(shù)據(jù)持久化層,首先我們創(chuàng)建一個(gè)TestDao接口,用于定義獲取數(shù)據(jù)的方法。
9、接下來(lái)我們創(chuàng)建TestDaoImpl實(shí)現(xiàn)類,并且實(shí)現(xiàn)TestDao接口,重寫(xiě)該接口中的方法,如下圖所示。
10、我們將數(shù)據(jù)以集合的形式返回,此時(shí)需要?jiǎng)?chuàng)建TestSverlet類進(jìn)行業(yè)務(wù)邏輯處理。我們首先創(chuàng)建一個(gè)構(gòu)造方法,并在構(gòu)造方法中獲取數(shù)據(jù)庫(kù)的連接。
11、我們創(chuàng)建的TestServlet類繼承了HttpServlet類,并重寫(xiě)了父類的doGet()方法,我們?cè)谠摲椒ㄖ袆?chuàng)建TestDaoImpl的對(duì)象,并調(diào)用getAllStudent()方法進(jìn)行數(shù)據(jù)的查詢,并將查詢的結(jié)果放入到request的屬性中,同時(shí)使用RequestDispatcher將請(qǐng)求轉(zhuǎn)發(fā)到student.jsp。
12、我們創(chuàng)建一個(gè)student.jsp的文件,在該文件中使用EL表達(dá)式和JSTL標(biāo)簽來(lái)獲取request范圍的屬性數(shù)據(jù),即上一步驟的查詢結(jié)果。
13、最后我們需要在web.xml文件中配置該Servlet的請(qǐng)求路徑等信息,如下圖所示。
14、以上步驟完成后我們使用Tomcat啟動(dòng)該項(xiàng)目,按照請(qǐng)求路徑訪問(wèn)便可在頁(yè)面表格中獲取到數(shù)據(jù)庫(kù)的查詢結(jié)果。