Heim > Datenbank > MySQL-Tutorial > Hauptteil

Was sind die grundlegenden Betriebsmethoden von node.js für die Datenbank MySQL?

WBOY
Freigeben: 2023-06-03 14:33:54
nach vorne
837 Leute haben es durchsucht

Grundoperationen der Datenbank MySQL (Hinzufügen, Löschen, Ändern, Überprüfen)

Die einheitliche Tabellenstruktur des gesamten Blogs ist:
Die vier Felder der Benutzer Die Tabelle enthält den Status des ID-Benutzernamens und des Passworts, und die vier Felder repräsentieren vier Spalten, von denen die ID eine Spalte mit automatischer Inkrementierung ist. Der Standardwert für den Status ist 0, der optionale Wert 0 und 1
ID wird automatisch inkrementiert, der Benutzername ist zs, ls , Wu-Passwort bzw.: 123456 abcdef 123abc Status ist 0, 1 , 1

#查询整张表的所有数据
select * from users

#查询指定列的所有数据
select username,password from users

#指定某列添加数据
insert into users(username,password) values('萧寂','1234')

#指定某列修改数据
update users set username="你好a",password="1234567",status=1 where id=2

#根据id删除行
delete from users where id=4

#查询status为1的所有用户
SELECT *FROM users WHERE status=1

#查询id 大于2的所有用户
SELECT *FROM users WHERE id>2

#查询username不等于admin的所有用户
SELECT *FROM users WHERE username<>&#39;admin&#39;

#使用AND来显示所有status为0,并且id 小于3的用户:
SELECT * FROM users WHERE status=0 AND id<3

#使用OR来显示所有status为1,或者username为zs的用户
SELECT* FROM users WHERE status=1 OR username=&#39;zs&#39;

#对users表中的数据,按照status字段进行升序排序
SELECT * FROM users ORDER BY status;(升序排序在status后加上ASC效果等同)
select * from users order by status asc

#根据id降序排序,降序排序使用desc关键字
select * from users order by id desc

#多重排序 对users 表中的数据,先按照status字段进行降序排序,再按照username的字母顺序,进行升序排序
SELECT * FROM users ORDER BY status DESC,username asc

#查询id为1的数据返回的总条数
select count(*) from users where id=1

#将列名称从COUNT(*)修改为total
SELECT COUNT(*) AS total FROM users WHERE id=1

#给username列添加uname别名,给password列添加upwd别名
select username as uname,password as upwd from users
Nach dem Login kopieren

Node.js-Projekt hinzufügen, löschen, ändern und einchecken

#🎜 🎜#Führen Sie zuerst den Befehl aus, um das package.json-Paket zu initialisieren. Es bietet die Möglichkeit, MySQL-Datenbanken in Node.js-Projekten zu verbinden und zu betreiben.

Wenn Sie es im Projekt verwenden möchten, müssen Sie zuerst den folgenden Befehl ausführen, um MySQL als Abhängigkeitspaket des Projekts zu installieren:

npm init -y  (文件名为英文,不能有空格、特殊字符或中文,否则报错)
Nach dem Login kopieren
Nach dem obigen Vorgang Wenn Sie fertig sind, beginnen Sie mit der Konfiguration des MySQL-Moduls Die Hauptkonfigurationsschritte sind wie folgt:


npm install mysql   或者  npm i mysql
Nach dem Login kopieren

Testen Sie, ob das Modul eine Verbindung herstellen und normal funktionieren kann (führen Sie den Befehl „Knotendateiname“ oder „Nodemon-Dateiname“ aus) #🎜🎜 #

Rufen Sie die Funktion

auf, geben Sie an, dass die SQL-Anweisung ausgeführt werden soll, erhalten Sie das Ausführungsergebnis über die Rückruffunktion

//导入MySQL模块
const mysql = require("mysql")
//建立与MySQL数据库的连接
const db = mysql.createPool({
    host: "127.0.0.1", //数据库的IP地址
    user: "root",  //登录数据库的账号
    password: "admin",  //登录数据库的密码
    database: "xiaoji"  //指定要操作哪个数据库
})
Nach dem Login kopieren

Die Rückkehr Ergebnis eines erfolgreichen Tests ist: [ RowDataPacket { ‘1’: 1 } ]#🎜🎜 #

SQL-Code zum Abfragen der Tabelle (Tabellenname und -struktur finden Sie in der ersten Zeile) #🎜🎜 #
db.query("select 1", function (err, results) {
    //模块报错返回错误信息
    if (err) return console.log(err.message);
    //运行成功
    console.log(results);
})
Nach dem Login kopieren

SQL-Anweisung zum Hinzufügen von Daten (zwei Methoden)

查询数据user表中所有的用户数据
const sqlStr = "select * from users"
db.query(sqlStr, function (err, results) {
    //查询失败
    if (err) return console.log(err.message);
    //查询成功
    //注意如果执行的是select查询语句,则执行的结果是数组
    console.log(results);
})
Nach dem Login kopieren
#🎜🎜 #SQL-Anweisung zum Ändern von Daten (zwei Methoden)
//插入数据
//向users表中新增数据,其中username为Spider-Man,password为pcc321
//要插入到users表中的数据对象
const user = { username: "Spider-Man", password: "pcc321" }
//待执行的SQL语句,其中的?表示占位符
const sqlStr = "insert into student(student,card) values(?,?)"
//使用数组的形式,依次为?占位符具体的值(result.affectedRows为影响的行数)
db.query(sqlStr, [user.username, user.password], function (err, results) {
    if (err) return console.log(err.message);
    if (results.affectedRows == 1) {
        console.log("插入成功");
    }
})
//向表中新增数据时,如果数据对象的每个属性和数据表的字段一一对应,则可以通过如下方式快速插入数据:
//要插入到users表中的数据对象
const user = { username: "Spider2-Man", password: "pcc321" }
//待执行的SQL语句,其中的?表示占位符
const sqlStr = "insert into users set ?"
db.query(sqlStr, user, function (err, results) {
    if (err) return console.log(err.message);
    if (results.affectedRows == 1) {
        console.log("插入成功");
    }
})
Nach dem Login kopieren

SQL-Anweisung zum Löschen von Daten#🎜🎜 #

//修改表中的数据
//向users表中更新的数据,其中username为Spider-Man,password为pcc321,id为5
const user = { id: 7, username: "xiao1jiao", password: "111222" }
//待执行的sql语句,其中的?表示占位符
const sqlStr = "update users set username=?,password=? where id=?"
//使用数组的形式,依次为?占位符具体的值(result.affectedRows为影响的行数)
db.query(sqlStr, [user.username, user.password, user.id], function (err, results) {
    if (err) return console.log(err.message);
    if (results.affectedRows == 1) {
        console.log("修改", user.id, "列成功");
    }
})
//修改表数据时,如果数据对象的每个属性和数据表的字段一一对应,则可以通过如下方式快速修改表数据
//向users表中更新的数据,其中username为aaaa,password为1111,id为5
const user = { id: 5, username: "aaaa", password: "1111" }
//待执行的sql语句,其中的?表示占位符
const sqlStr = "update users set ? where id=?"
//使用数组的形式,依次为?占位符具体的值(result.affectedRows为影响的行数)
db.query(sqlStr, [user, user.id], function (err, results) {
if (err) return console.log(err.message);
if (results.affectedRows == 1) {
    console.log("修改", user.id, "列成功");
}
})
Nach dem Login kopieren
db.query()Löschung markieren

//在删除数据时,推荐根据id这样的唯一标识,来删除对应的数据。示例如下:
const sqlStr = "delete from users where id=?"
//调用db.query(O)执行SQL语句的同时,为占位符指定具体的值
//注意:如果SQL语句中有多个占位符,则必须使用数组为每个占位符指定具体的值
//如果SQL语句中只有一个占位符,则可以省略数组
db.query(sqlStr, 5, function (err, results) {
    if (err) return console.log(err.message);
    //注意:执行 delete语句之后,结果也是一个对象,也会包含 affectedRows属性
    if (results.affectedRows == 1) {
        console.log("删除成功");
    }
})
Nach dem Login kopieren
Hinweis: Der Autor hat einmal einen Test durchgeführt und native SQL-Anweisungen verwendet, um Felder zu verbinden und sie direkt mit db auszuführen .query-Anweisungen haben zur Folge, dass bei der Verarbeitung von Rich-Text-Daten ein Fehler gemeldet wurde. Dies wird nicht passieren, wenn Sie den Platzhalter ? verwenden.

Das obige ist der detaillierte Inhalt vonWas sind die grundlegenden Betriebsmethoden von node.js für die Datenbank MySQL?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!