登錄MySQL
mysql -u root -p
Enter password:******
MySQL 創(chuàng)建數(shù)據(jù)庫(kù)
1蜘拉、使用 create 命令創(chuàng)建數(shù)據(jù)庫(kù),語(yǔ)法如下:
mysql> CREATE DATABASE 數(shù)據(jù)庫(kù)名;
2、使用 mysqladmin 創(chuàng)建數(shù)據(jù)庫(kù)
[root@host]# mysqladmin -u root -p create RUNOOB
Enter password:******
3霞扬、使用nodejs腳本 創(chuàng)建數(shù)據(jù)庫(kù),首先安裝相應(yīng)依賴枫振,語(yǔ)法如下:
npm install mysql -S
const mysql = require('mysql')
const {database} = require('./config')
const pool = mysql.createPool({
host : database.HOST, // 數(shù)據(jù)庫(kù)地址
user : database.USERNAME, // 數(shù)據(jù)庫(kù)用戶
password : database.PASSWORD, // 數(shù)據(jù)庫(kù)密碼
database : database.DATABASE // 選中數(shù)據(jù)庫(kù)
})
let query = function( sql, values ) {
return new Promise(( resolve, reject ) => {
pool.getConnection(function(err, connection) {
if (err) {
reject( err )
} else {
connection.query(sql, values, ( err, rows) => {
if ( err ) {
reject( err )
} else {
resolve( rows )
}
connection.release()
})
}
})
})
}
module.exports = {
query
}
MySQL 刪除數(shù)據(jù)庫(kù)
1喻圃、drop 命令刪除數(shù)據(jù)庫(kù)
mysql> drop database <數(shù)據(jù)庫(kù)名>;
2、使用 mysqladmin 刪除數(shù)據(jù)庫(kù)
[root@host]# mysqladmin -u root -p drop RUNOOB
Enter password:******
3粪滤、使用nodejs腳本刪除數(shù)據(jù)庫(kù)
MySQL 選擇數(shù)據(jù)庫(kù)
[root@host]# mysql -u root -p
Enter password:******
mysql> use RUNOOB;
Database changed
mysql>
MySQL 創(chuàng)建數(shù)據(jù)表
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
實(shí)例解析
- 如果你不想字段為 NULL 可以設(shè)置字段的屬性為 NOT NULL斧拍, 在操作數(shù)據(jù)庫(kù)時(shí)如果輸入該字段的數(shù)據(jù)為NULL ,就會(huì)報(bào)錯(cuò)杖小。
- AUTO_INCREMENT定義列為自增的屬性肆汹,一般用于主鍵,數(shù)值會(huì)自動(dòng)加1予权。
- PRIMARY KEY關(guān)鍵字用于定義列為主鍵昂勉。 您可以使用多列來(lái)定義主鍵,列間以逗號(hào)分隔扫腺。
- ENGINE 設(shè)置存儲(chǔ)引擎岗照,CHARSET 設(shè)置編碼。
MySQL 刪除數(shù)據(jù)表
mysql> DROP TABLE runoob_tbl;
Query OK, 0 rows affected
MySQL 插入數(shù)據(jù)
INSERT INTO table_name ( field1, field2, ...fieldN ) VALUES ( value1, value2, ...valueN );
MySQL 查詢數(shù)據(jù)
SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M]
- 查詢語(yǔ)句中你可以使用一個(gè)或者多個(gè)表笆环,表之間使用逗號(hào)(,)分割攒至,并使用WHERE語(yǔ)句來(lái)設(shè)定查詢條件。
- SELECT 命令可以讀取一條或者多條記錄躁劣。
- 你可以使用星號(hào)(*)來(lái)代替其他字段迫吐,SELECT語(yǔ)句會(huì)返回表的所有字段數(shù)據(jù)
- 你可以使用 WHERE 語(yǔ)句來(lái)包含任何條件。
- 你可以使用 LIMIT 屬性來(lái)設(shè)定返回的記錄數(shù)账忘。
- 你可以通過(guò)OFFSET指定SELECT語(yǔ)句開(kāi)始查詢的數(shù)據(jù)偏移量志膀。默認(rèn)情況下偏移量為0。
mysql> select * from employee;
id | password | name | nick | detail_info | create_time | modified_time | |
---|---|---|---|---|---|---|---|
1 | 1445860318@qq.com | 123456 | wucl | 莫尋 | NULL | 2018-07-26 | 2018-07-27 |
MySQL WHERE 子句
SELECT field1, field2,...fieldN FROM table_name1, table_name2...
[WHERE condition1 [AND [OR]] condition2.....
- 查詢語(yǔ)句中你可以使用一個(gè)或者多個(gè)表闪萄,表之間使用逗號(hào), 分割梧却,并使用WHERE語(yǔ)句來(lái)設(shè)定查詢條件奇颠。
- 你可以在 WHERE 子句中指定任何條件败去。
- 你可以使用 AND 或者 OR 指定一個(gè)或多個(gè)條件。
- WHERE 子句也可以運(yùn)用于 SQL 的
DELETE
或者UPDATE
命令烈拒。 - WHERE 子句類似于程序語(yǔ)言中的 if 條件圆裕,根據(jù) MySQL 表中的字段值來(lái)讀取指定的數(shù)據(jù)广鳍。
MySQL 的 WHERE 子句的字符串比較是不區(qū)分大小寫(xiě)的。 你可以使用 BINARY 關(guān)鍵字來(lái)設(shè)定 WHERE 子句的字符串比較是區(qū)分大小寫(xiě)的吓妆。
mysql> SELECT * from runoob_tbl WHERE BINARY runoob_author='runoob.com';
Empty set (0.01 sec)
MySQL UPDATE 查詢
UPDATE table_name SET field1=new-value1, field2=new-value2 [WHERE Clause]
MySQL DELETE 語(yǔ)句
DELETE FROM table_name [WHERE Clause]
- 如果沒(méi)有指定 WHERE 子句赊时,MySQL 表中的所有記錄將被刪除
- 你可以在 WHERE 子句中指定任何條件
- 您可以在單個(gè)表中一次性刪除記錄。