目录基本概念为什么要有数据库什么是数据库数据库的分类数据库中基本术语数据库的可视化操作(创建数据库、创建表)数据类型(部分)数据库的常见命令数据库相关表相关插入数据修改数据删除数据查
没有数据库,我们的数据都是存储在文件当中的,那么文件存储数据的缺点有:
数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行增加、删除、修改、查询等操作。
浏览器---->服务器---->数据库
关系型数据库:
mysql
、oracle
、SQL Server
sqlite
(安卓)非关系型数据库
int
: 整数类型varchar
: 字符类型datetime
: 日期类型SQL: 结构化查询语言(Structured Query Language)简称SQL 。用于数据库的增删改查以及管理等功能。
--SQL中的注释
SHOW DATABASES
; 查看所有的数据CREATE DATABASE mydb;
创建数据库DROP DATABASE mydb
;删除数据库USE mydb
; 使用数据库SHOW TABLES
;查看当前数据库中所有的表创建表
CREATE TABLE user(
id INT auto_increment PRIMARY KEY,
name VARCHAR(255) NOT NULL,
age INT ,
gender VARCHAR(4),
content VARCHAR(255)
)
DROP TABLE user
;删除表INSERT INTO user (name, age, gender, content) VALUES ('胡聪聪', 18, '男', '哈哈哈,哈哈哈')
-- 如果省略列名,那么必须要和字段一一对应
INSERT INTO user VALUES (null, '胡聪聪', 18, '男', '哈哈哈,哈哈哈')
INSERT INTO user SET name='hcc', age=18, gender='男', content='嘻嘻嘻'
// 修改所有的数据
UPDATE USER SET name='胡西西'
// 根据条件修改
UPDATE USER set name='胡聪聪', content="这是内容" WHERE id = 2
// 删除所有的数据
DELETE FROM USER
// 删除id为5的数据
DELETE FROM USER WHERE id = 5
-- 查询所有数据
SELECT * FROM user
-- 查询指定列
SELECT id, name,age from user
--- 并且
SELECT * from user where name='胡聪聪' AND age=21
--- 或者
SELECT * from user where name='胡聪聪' or age=21
-- 范围查询
-- 模糊查询 %表示通配 _表示单个字符
SELECT * from user where name LIKE '胡%'
-- in语句
SELECT * from user where name in ('胡聪聪', 'hcc')
-- order by
-- 排序需要写在最后面,,asc升序 desc:降序
SELECT * from user ORDER BY id desc
-- limit分页
SELECT * from user ORDER BY id desc limit 3
SELECT * from user ORDER BY id desc limit 3,3
-- 获取总条数
SELECT count(*) as total FROM user
安装
npm install mysql
基本使用
// 导入第三方包
const mysql = require('mysql')
// 创建连接
var connection = mysql.createConnection({
// 本地
host: 'localhost',
user: 'root',
passWord: 'root',
// 数据库名称
database: 'mydb',
port: 3306
})
// 连接数据库
connection.connect()
// 执行sql语句
connection.query('select * from user where id = 8', (err, result) => {
if (err) return console.log('查询失败', err)
// result返回的是数组, 数组中是一个对象
console.log(result)
})
// 关闭连接
connection.end()
var name = '胡聪聪'
// 使用?表示占位,可以防止sql注入
connect.query(`select * from user where name=?`, name, (err, result) => {
if (err) return console.log('错误了', err)
console.log(result)
})
connect.query(
'insert into user (name, age, gender, content) values (?, ?, ?, ?)',
['胡嘻嘻', 18, '男', '哈哈哈哈'],
err => {
if (err) return console.log('错误', err)
console.log('添加成功了')
}
)
// 方式2
connect.query(
'insert into user set ?',
{
name: '胡洗洗',
age: 30,
gender: '男',
content: '哈哈哈'
},
(err, result) => {
if (err) return console.log('错误', err)
console.log('添加成功了', result)
}
)
connect.query(
'update user set ? where id = ?',
[
{
name: '胡洗洗',
age: 30,
gender: '男',
content: '哈哈哈'
},
10
],
(err, result) => {
if (err) return console.log('错误', err)
console.log('添加成功了', result)
}
)
connect.query('delete from user where id = ?', [10], (err, result) => {
if (err) return console.log('失败', err)
console.log(result)
})
// 导入mysql
const mysql = require('mysql')
// 创建连接对象
const connect = mysql.createConnection({
host: 'localhost',
port: 3306,
user: 'root',
password: 'root',
database: 'mydb'
})
exports.query = function(sql, params, callback) {
connect.connect()
connect.query(sql, params, (err, data) => {
callback && callback(err, data)
})
connect.end()
}
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。
--结束END--
本文标题: nodejs中关于mysql数据库的操作
本文链接: https://lsjlt.com/news/171756.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-10-23
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
2024-10-22
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0