本文目錄一覽:
- 1、如何增量導入MYSQL資料庫中的數據
- 2、PHP操作mysql資料庫的步驟
- 3、mysql資料庫建好後怎麼使用?
- 4、MySQL資料庫的索引的操作知多少
- 5、js如何連接和操作騰訊雲mysql資料庫
- 6、如何實用Navicat操作MySQL資料庫
如何增量導入MYSQL資料庫中的數據
大SQL文件導入資料庫的方法:
1、點擊”開始”-“運行”,輸入cmd,然後回車進入到DOS界面。
2、進入MYSQL安裝目錄。
3、假如MYSQL安裝在D盤,SQL文件也在D盤,加入命名為demo.sql,操作的方法是:
輸入”D:”,回車即進入到D盤了,然後輸入”cd mysql/bin”並回車
4、再輸入”mysql -u root -p database d:/demo.sql”,回車顯示要輸入密碼
5、如果MYSQL資料庫的密碼為空則不輸入任何東西回車,沒有出現錯誤說明導入成功。
注意:上面的database是要導入的資料庫名。
PHP操作mysql資料庫的步驟
PHP訪問MySQL資料庫:
因為連接資料庫需要較長的時間和較大的資源開銷,所以如果在多個網頁中都要頻繁地訪問資料庫,則可以建立與資料庫的持續連接。即調用mysql_pconnect()代替mysql_connect()。
基本步驟:
1.連接伺服器:mysql_connect();
2.選擇資料庫:mysql_select_db();
3.執行SQL語句:mysql_query();
查詢:select
顯示:show
插入:insert
into
更新:update
刪除:delete
4.關閉結果集:mysql_free_result($result);
5.關閉資料庫:mysql_close($link);
mysql資料庫建好後怎麼使用?
1. 添加連接資料庫jar包
2. 稍微修改一下程序
import java.sql.*;
public class ConnectDemoMysql {
private static ConnectDemoMysql instence = null;
private ConnectDemoMysql(){}
public static ConnectDemoMysql getInstence(){
if(instence==null){
instence = new ConnectDemoMysql();
}
return instence;
}
public Connection getConnection(String database){
Connection conn = null;
String mysqldriverName = “com.mysql.jdbc.Driver”;
String mysqlurl = “jdbc:mysql://localhost:3306/”+database;
try {
Class.forName(mysqldriverName);
conn = DriverManager.getConnection(mysqlurl,”root”,”adminadmin”);//mysql密碼
} catch (Exception e) {
e.printStackTrace();
}
return conn;
}
public static void main(String args[]){
Connection conn = ConnectDemoMysql.getInstence().getConnection(“mysqldata”);//輸入你的資料庫名
System.out.println(conn);
}
}
MySQL資料庫的索引的操作知多少
MySQL索引類型包括:
(1)普通索引
這是最基本的索引,它沒有任何限制。它有以下幾種創建方式:
◆創建索引
CREATE INDEX indexName ON mytable(username(length)); 如果是CHAR,VARCHAR類型,length可以小於欄位實際長度;如果是BLOB和TEXT類型,必須指定 length,下同。
◆修改表結構
ALTER mytable ADD INDEX [indexName] ON (username(length))
◆創建表的時候直接指定
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) ); 刪除索引的語法:
DROP INDEX [indexName] ON mytable;
(2)唯一索引
與前面的普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一。它有以下幾種創建方式:
◆創建索引
CREATE UNIQUE INDEX indexName ON mytable(username(length))
◆修改表結構
ALTER mytable ADD UNIQUE [indexName] ON (username(length))
◆創建表的時候直接指定
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );
(3)主鍵索引
它是一種特殊的唯一索引,不允許有空值。一般是在建表的時候同時創建主鍵索引:
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, PRIMARY KEY(ID) ); 當然也可以用 ALTER 命令。記住:一個表只能有一個主鍵。
(4)組合索引
為了形象地對比單列索引和組合索引,為表添加多個欄位:
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, city VARCHAR(50) NOT NULL, age INT NOT NULL ); 為了進一步榨取MySQL的效率,就要考慮建立組合索引。就是將 name, city, age建到一個索引里:
ALTER TABLE mytable ADD INDEX name_city_age (name(10),city,age); 建表時,usernname長度為 16,這裡用 10。這是因為一般情況下名字的長度不會超過10,這樣會加速索引查詢速度,還會減少索引文件的大小,提高INSERT的更新速度。
如果分別在 usernname,city,age上建立單列索引,讓該表有3個單列索引,查詢時和上述的組合索引效率也會大不一樣,遠遠低於我們的組合索引。雖然此時有了三個索引,但MySQL只能用到其中的那個它認為似乎是最有效率的單列索引。
建立這樣的組合索引,其實是相當於分別建立了下面三組組合索引:
usernname,city,age usernname,city usernname 為什麼沒有 city,age這樣的組合索引呢?這是因為MySQL組合索引「最左前綴」的結果。簡單的理解就是只從最左面的開始組合。並不是只要包含這三列的查詢都會用到該組合索引,下面的幾個SQL就會用到這個組合索引:
SELECT * FROM mytable WHREE username=”admin” AND city=”鄭州” SELECT * FROM mytable WHREE username=”admin” 而下面幾個則不會用到:
SELECT * FROM mytable WHREE age=20 AND city=”鄭州” SELECT * FROM mytable WHREE city=”鄭州”
(5)建立索引的時機
一般來說,在WHERE和JOIN中出現的列需要建立索引,但也不完全如此,因為MySQL只對,=,=,,=,BETWEEN,IN,以及某些時候的LIKE才會使用索引。例如:
SELECT t.Name FROM mytable t LEFT JOIN mytable m ON t.Name=m.username WHERE m.age=20 AND m.city=’鄭州’ 此時就需要對city和age建立索引,由於mytable表的userame也出現在了JOIN子句中,也有對它建立索引的必要。
剛才提到只有某些時候的LIKE才需建立索引。因為在以通配符%和_開頭作查詢時,MySQL不會使用索引。例如下句會使用索引:
SELECT * FROM mytable WHERE username like’admin%’ 而下句就不會使用:
SELECT * FROM mytable WHEREt Name like’%admin’ 因此,在使用LIKE時應注意以上的區別。
(6)索引的不足之處
上面都在說使用索引的好處,但過多的使用索引將會造成濫用。因此索引也會有它的缺點:
◆雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對錶進行INSERT、UPDATE和DELETE。因為更新表時,MySQL不僅要保存數據,還要保存一下索引文件。
◆建立索引會佔用磁碟空間的索引文件。一般情況這個問題不太嚴重,但如果你在一個大表上創建了多種組合索引,索引文件的會膨脹很快。
索引只是提高效率的一個因素,如果你的MySQL有大數據量的表,就需要花時間研究建立最優秀的索引,或優化查詢語句。
(7)使用索引的注意事項
使用索引時,有以下一些技巧和注意事項:
◆索引不會包含有NULL值的列
只要列中包含有NULL值都將不會被包含在索引中,複合索引中只要有一列含有NULL值,那麼這一列對於此複合索引就是無效的。所以我們在資料庫設計時不要讓欄位的默認值為NULL。
◆使用短索引
對串列進行索引,如果可能應該指定一個前綴長度。例如,如果有一個CHAR(255)的列,如果在前10個或20個字元內,多數值是惟一的,那麼就不要對整個列進行索引。短索引不僅可以提高查詢速度而且可以節省磁碟空間和I/O操作。
◆索引列排序
MySQL查詢只使用一個索引,因此如果where子句中已經使用了索引的話,那麼order by中的列是不會使用索引的。因此資料庫默認排序可以符合要求的情況下不要使用排序操作;盡量不要包含多個列的排序,如果需要最好給這些列創建複合索引。
◆like語句操作
一般情況下不鼓勵使用like操作,如果非使用不可,如何使用也是一個問題。like 「%aaa%」 不會使用索引而like 「aaa%」可以使用索引。
◆不要在列上進行運算
select * from users where YEAR(adddate)2007; 將在每個行上進行運算,這將導致索引失效而進行全表掃描,因此我們可以改成
select * from users where adddate『2007-01-01』;
◆不使用NOT IN和操作
js如何連接和操作騰訊雲mysql資料庫
首先是登陸騰訊雲,登陸之後可以領取新手禮包,如圖
進入雲產品-資料庫-CDB for MYSQL-立即選購,選購最低配的可用禮包抵扣使用一個月,購買完成
主頁-右上角產品管理-使用中的資料庫,這時我們會看見一個實例,首先我們進入管理頁面對實例進行一些基本的設置
實例名可以隨意更改,外網地址必須開啟,否則我們就不能在自己的項目中和本地訪問雲資料庫。進入賬號管理頁面修改自己的root密碼,然後點擊右上角的登錄資料庫
登陸完成之後如下圖
這個和本地客戶端操作基本相同,我就不詳細闡述了
二、使用一個demo來說明如何操作雲mysql資料庫
1.在實例上上新建一個為nodejs的資料庫,然後新建一個為employee的表,新建四個欄位 name sex age email除了年齡為int其它的全部為varchar格式
2.新建一個TimLiu的文件夾,打開cmd,cd TimLiu, 初始化項目npm init ,按照它的提示一步一步的操作即可,安裝mysql模塊,npm insitall mysql, 這個模塊的作用主要是連接mysql資料庫。
3.新建一個model.js 文件,
var mysql = require(『mysql』);
var connection = mysql.createConnection({
host:”,
user:’root’,
password:’123abc’,
database:’ nodejs’,
port:6445
})
connection.connect();
這裡的host為我們在騰訊雲上開通的外地址,埠號也是在外網地址裡面,注意要把外網地址寫分開,用戶為默認的管理員用戶,密碼為我們在雲平台上設置的密碼,資料庫為我們創建的nodejs資料庫。
接下來我們對資料庫進行增刪改查操作
/**
* 增加員工
*/function addEmployee(){
var employeeInsertSql = ‘INSERT INTO employee(name,sex,age,email) VALUES(?,?,?,?)’;
var employeeInsertSql_Params = [‘Tim’,’男’,22,’18818216454@163.com’]
connection.query(employeeInsertSql,employeeInsertSql_Params,function(err,result){
if(err) console.log(‘[INSERT ERR]-‘,err.message);
console.log(result);
}) }addEmployee()
}
/**
* 更新員工
*/
function insertEmployee(){
var employeeUpdateSql = “UPDATE employee SET name = ? WHERE age =?”;
var employeeUpdateSql_Params = [‘Peter’,22];
connection.query(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){
if(err) console.log(‘[UPDATE ERR]-‘,err.message);
console.log(result);
})}
insertEmployee();
/**
*查詢員工
*/ function getEmployee(){
var employeeGetSql = “SELECT * FROM employee”;
connection.query(employeeGetSql,function(err,result){
if(err) console.log(‘[SELECT ERR]-‘,err.message);
console.log(result);
})}
getEmployee();
/**
*刪除員工
*/ function deleteEmployee(){
var employeeDeleteSql = “DELETE employee WHERE name = ?”;
var employeeDeleteSql_Params = ‘Peter’;
connection.query(employeeDeleteSql,employeeDeleteSql_Params,function(err,result){
if(err) console.log(‘[DELETE ERR]-‘,err.message);
console.log(result);
})
}deleteEmployee();
這樣我們就可以愉快的操作資料庫了
如果大家想把項目更模塊化操作,可在model下面新建一個employee_two.js,代碼如下
var mysql = require(‘mysql’);var connection = mysql.createConnection({
host:”,
user:’root’,
password:”,
database:’nodejs’,
port:})connection.connect();/**
* 增加員工
* @param {String} employee
* @param {Function} callback
*/exports.addEmployee=function(employee,callback){
var employeeInsertSql = ‘INSERT INTO employee(name,sex,age,email) VALUES(?,?,?,?)’;
var employeeInsertSql_Params = [employee.name,employee.sex,employee.age,employee.email]
connection.query(employeeInsertSql,employeeInsertSql_Params,callback)}/**
* 更新員工
* @param {String} employee
* @param {Function} callback
*/exports.updateEmployee = function(name,age){
var employeeUpdateSql = “UPDATE employee SET name = ? WHERE age =?”;
var employeeUpdateSql_Params = [‘Peter’,22];
connection.query(employeeUpdateSql,employeeUpdateSql_Params,function(err,result){
if(err) console.log(‘[UPDATE ERR]-‘,err.message);
console.log(result);
})}/**
* 查詢員工
*
*/exports.getEmployee = function(){
var employeeGetSql = “SELECT * FROM employee”;
connection.query(employeeGetSql,callback)}/**
* 刪除員工
* @param {String} name
*/exports.deleteEmployee = function(name){
var employeeDeleteSql = “DELETE employee WHERE name = ?”;
var employeeDeleteSql_Params = ‘Peter’;
connection.query(employeeDeleteSql,employeeDeleteSql_Params,callback)
}再在根目錄下新建index.js,代碼如下var db = require(‘./model/employee_two’);//增加員工var employee = {
name:’lisa’,
age:22,
sex:”女”,
email:’99533212@qq.com’}db.addEmployee(employee,function(err,result){
if(err) console.log(“[INSERT err]-“,err.message)
console.log(result);})//刪除員工db.deleteEmployee(‘Peter’,function(err,result){
if(err) console.log(“[DELETE err]-“,err.message)
console.log(result);})//更新員工db.updateEmployee(‘Tim’,23,function(err,result){
if(err) console.log(“[UPDATE err]-“,err.message)
console.log(result);})//查詢員工db.getEmployee(function(err,result){
if(err) console.log(“[GET err]-“,err.message)
console.log(result);})
如何實用Navicat操作MySQL資料庫
以下答案來源於 Navicat中文網站 ,如果還想知道更詳細的內容,可以訪問他們網站查詢教程。
新建資料庫(student)
在連接名稱上右鍵選擇「新建資料庫」,進入新建資料庫界面。
填寫資料庫「名稱」、「字元編碼」,然後點擊「確定」。
在右側「管理區」展開新建的資料庫,會顯示「表」、「視圖」、「函數」、「事件」、「查詢」、「報表」、「備份」。
新建數據表(t_student)
右鍵「表」,選擇「新建表」,在右側編輯區將會顯示錶信息。
在編輯區中的「欄位」中添加信息,設置各個欄位屬性。
點擊「保存」按鈕,輸入表名稱,點擊「確定」。
展開右側「管理區」中student資料庫中表列表,查看新建的表。
表中插入數據
在新建的表(t_student)上右鍵選擇「打開表」,進入表數據插入頁面。
在各個欄位中添加信息,若需要新欄位,則在編輯區域左下角點擊「增加」按鈕,添加新欄位。添加完數據後,點擊「應用改變」,提交數據。
刪除表(t_student)
在該表右鍵選擇「刪除表」,然後是否確認刪除表。
刪除資料庫(student)
在該資料庫右鍵選擇「刪除資料庫」,然後是否確認刪除資料庫。
原創文章,作者:N25CU,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/130434.html