登录MySQL
mysql -u root -p
Enter password:******
MySQL 创建数据库
1、使用 create 命令创建数据库,语法如下:
mysql> CREATE DATABASE 数据库名;
2、使用 mysqladmin 创建数据库
[root@host]# mysqladmin -u root -p create RUNOOB
Enter password:******
3、使用nodejs脚本 创建数据库,首先安装相应依赖,语法如下:
npm install mysql -S
const mysql = require('mysql')
const {database} = require('./config')
const pool = mysql.createPool({
host : database.HOST, // 数据库地址
user : database.USERNAME, // 数据库用户
password : database.PASSWORD, // 数据库密码
database : database.DATABASE // 选中数据库
})
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 删除数据库
1、drop 命令删除数据库
mysql> drop database <数据库名>;
2、使用 mysqladmin 删除数据库
[root@host]# mysqladmin -u root -p drop RUNOOB
Enter password:******
3、使用nodejs脚本删除数据库
MySQL 选择数据库
[root@host]# mysql -u root -p
Enter password:******
mysql> use RUNOOB;
Database changed
mysql>
MySQL 创建数据表
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;
实例解析
- 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
- AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
- PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
- ENGINE 设置存储引擎,CHARSET 设置编码。
MySQL 删除数据表
mysql> DROP TABLE runoob_tbl;
Query OK, 0 rows affected
MySQL 插入数据
INSERT INTO table_name ( field1, field2, ...fieldN ) VALUES ( value1, value2, ...valueN );
MySQL 查询数据
SELECT column_name,column_name FROM table_name [WHERE Clause] [LIMIT N][ OFFSET M]
- 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用WHERE语句来设定查询条件。
- SELECT 命令可以读取一条或者多条记录。
- 你可以使用星号(*)来代替其他字段,SELECT语句会返回表的所有字段数据
- 你可以使用 WHERE 语句来包含任何条件。
- 你可以使用 LIMIT 属性来设定返回的记录数。
- 你可以通过OFFSET指定SELECT语句开始查询的数据偏移量。默认情况下偏移量为0。
mysql> select * from employee;
id | password | name | nick | detail_info | create_time | modified_time | |
---|---|---|---|---|---|---|---|
1 | [email protected] | 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.....
- 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。
- 你可以在 WHERE 子句中指定任何条件。
- 你可以使用 AND 或者 OR 指定一个或多个条件。
- WHERE 子句也可以运用于 SQL 的
DELETE
或者UPDATE
命令。 - WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。
MySQL 的 WHERE 子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定 WHERE 子句的字符串比较是区分大小写的。
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 语句
DELETE FROM table_name [WHERE Clause]
- 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除
- 你可以在 WHERE 子句中指定任何条件
- 您可以在单个表中一次性删除记录。