数据库基本操作
一、字段操作(列操作)
1. 增加列
1 | alter table 'tableName' add 'columnName' int(255) |
2. 修改列
1 | alter table 'tableName' alter 'columnName' int(255) |
3. 删除列
1 | alter table 'tableName' drop column 'columnName' |
4. 获取所有某数据库某表所有列名
1 | select COLUMN_NAME from information_schema.COLUMNS where table_name = 'tableName' and table_schema = 'databaseName' |
二、行操作
1. 增加数据
1 | insert into 表名 (键1, 键2, ...) values (值1, 值2, ...); |
2. 更新(修改)数据
1 | -- where 筛选出一条或多条数据 |
3. 删除数据
1 | delete from 表名; |
4. 查询数据(普通)
1 | select * from 表名; |
5. 查询数据(组合)
1 | -- 且 and |
三、使用nodejs操作SQL
安装mysql包并导入
npm i mysqlconst mysql = require('mysql')使用步骤
创建连接
1
2
3
4
5
6
7
8
9
10
11
12const connection = mysql.createConnection({
// 主机地址(必须,根据需要更换)
host: '127.0.0.1',
// 用户(必须,就是数据库用户)
user: 'root',
// 密码(必须,就是数据库密码)
password: 'root',
// 连接的数据库(必须)
database: 'mydatabase',
// 端口号
port: 3306
})建立连接
connection.connect()执行查询操作
1
2
3
4
5
6
7
8
9connection.query(sql语句, [参数列表,] callback(error, results) => {
if (error) return console.log(error)
// results为数组,就算没有数据也会给一个空数组
console.log(results)
})
sql语句:
可以用一个或多个?来占位
然后输入实参/实参数组/实参键值对对象作为参数列表(由mysql模块提供语法,其他地方不要用)
也可以传入多个实参时就用字符串拼接/模板字符串关闭连接(重要)
connection.end()
注意:每次调用end之后必须重新建立链接,createConnection的参数也必须重新输入。
操作效果
select results => 返回查询内容[{}, {}, …],如果没查到会是空数组[]。
delete results => 返回OkPacket对象,包含操作成功后的信息,affectedRows属性表示影响行数。
update、insert和delete相同。
参考:https://www.npmjs.com/package/mysql