


Mari kita bincangkan tentang cara nod mengendalikan pangkalan data MySQL (tambah, padam, ubah suai dan semak)
Bagaimana nod mengendalikan pangkalan data MySQL? Artikel berikut akan membawa anda melalui kaedah menambah, memadam, mengubah suai dan menanyakan pangkalan data MySQL dalam projek nod saya harap ia akan membantu anda!
Muat turun dan pasang mysql, semak sama ada pemasangan berjaya
net start mysql
- Mulakan mysql
- Anda boleh klik kanan Komputer Saya pada desktop dan masukkan Pengurusan Komputer untuk menyemak sama ada mysql telah berjalan dengan jayanya [Cadangan tutorial berkaitan: tutorial video nodejs]
Muat turun dan pasang navicat
Fungsi: Berikan kami fungsi menyambung dan mengendalikan pangkalan data mysql
Muat turun
www.navicat.com.cn/products#na…
Pasang
Klik dua kali, ke seterusnya
Gunakan
untuk mencari aplikasi, klik untuk mula
Jika ujian sambungan lulus , maka anda boleh mengklik butang OK untuk menyambung secara rasmi ke mysql.
Kesan selepas menyambung adalah seperti berikut:
Pengenalan pangkalan data
Apakah pangkalan data
Bahasa Inggeris: database
Gudang yang menyimpan dan mengurus data ialah pangkalan data.
Apakah itu data? Fail, gambar, video, pesanan, nama pengguna, kata laluan dan banyak lagi.
Data ini memerlukan tempat khas untuk menyimpan dan mengurus.
Sebelum kami mempelajari teknologi pangkalan data, data yang kami gunakan semuanya disimpan dalam sistem fail (db.json). Kami memerlukan perisian khusus untuk mengurus data kami, iaitu pangkalan data.
Dua kem - klasifikasi pangkalan data
Pangkalan data hubungan, produk perwakilan:
- MySQL
- Oracle
- Sql server
- DB2
Pangkalan data Bukan Hubungan
- redis Pangkalan data storan nilai kunci
- Pangkalan data storan lajur HBaise
- mongodb Pangkalan data berorientasikan dokumen
- pangkalan data graf neo4j
- Storan enjin carian elastik
Rujukan: Kedudukan penggunaan pangkalan datadb-engines.com/en/ranking
Memahami pangkalan data hubungan
Dalam pangkalan data hubungan, terdapat tiga peringkat hubungan:
- Pangkalan Data
- Jadual data
- Medan
Analogiexcel:
- Setiap lajur ialah sejenis data---
字段
- Setiap baris mewakili sekeping data---
记录
数据库 | excel文件 |
---|---|
数据库 | excel文件 |
数据表 | excel文件中的某一个sheet |
表结构:字段 | sheet中的表头:列 |
MySQL简介
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品 。MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。
3p技术:php,asp,jsp
操作数据库-用navicat
新建数据库
在弹出的窗口中填写数据库名即可。
点击确定之后,会在左侧的数据库列中看到上面创建成功的数据库。
新建数据表
点击 "新建表", 然后在开始设置字段
主键: 作用是区别一条数据和其它数据。(它相当于人的身份证号)
设置字段完成之后,点击上图左上角所示的保存按钮,就会进一步弹出对话框,让填写表的名字。
我们填入user
编辑字段
添加数据
一条内容输入完成后,按下tab,会自动进入下一条记录的输入
学习使用SQL语句
结构化查询语言(Structured Query Language)简称SQL,用来操作关系型数据库:
- 是一种数据库查询和程序设计语言,用来存取数据以及查询、更新、和管理关系型数据库。
- .sql是数据库脚本文件的扩展名。
最常用的用于数据操作的sql语句有四类,分别对应对数据的四种操作:
- 增(create)(例如:用户注册)
- 删(delete) (例如:删除订单)
- 改(update) (例如:修改密码)
- 查(select , read) (例如:信息搜索)
在navicat中运行sql - 添加数据
打开sql编辑区
然后:
学习 sql中的insert into 命令
格式:
insert into 表名(字段名1,字段名2,....) values (值1,值2,....)
注意:
字段的顺序要和值的顺序是完全匹配的
字段列表可以不与真实数据表中的字段完全相等,
- 可以省略一些不必要的字段
- 顺序与不需要与定义表时的顺序一致
如果是字符串类型的字段,其值要加"",如果是数值类型的字符串,其值不需要加“”
示例:
insert into stu (sex, weight, name) values ('男', 60, '庞凯')
sql-delete语句-删除数据
格式
delete from 表名 where 删除条件复制代码
注意:不指定条件将删除所有数据
示例
-- 删除id为14的同学 delete from stu where id=14 -- 删除的时候,不加条件,将删除stu表中的全部记录 delete from stu
sql-update语句-修改数据
格式
update 表名 set 字段1=值1, 字段2=值2,... where 修改条件
注意:
- 要修改的值使用键值对来表示 - 多个字段用,分隔 - 不指定条件,将修改当前表中全部的记录
示例
-- 修改id为1的同学的年龄为53 update stu set age=53 where id = 1 -- 修改id为1的同学的年龄为35,身高为160 update stu set age=35,height=160 where id = 1 -- 如果修改的时候,不加条件,则会修改全部的数据 update stu set weight = 60
sql-select-语句-数据查询
作用
把数据从数据库查出来
格式
SELECT 字段名1, 字段名2, ..... FROM 表名 WHERE <条件表达式>
示例
# 查询部分字段SELECT id,name,age FROM stu # 查询所有字段SELECT * FROM stu # 带条件的查询SELECT * FROM 表名 WHERE 条件1 and 条件2
where子句
select field1, field2... from 表名 查询表中的所有数据
where 可以使用条件来筛选查询出的结果
-- 查询所有的学生 select * from stu -- 查询所有学生的id,name,height select id,name,height from stu -- 带条件的查询 select * from stu where 条件 -- 查询所有的男同学 select * from stu where sex='男' -- 查询id为2的男同学 select * from stu where id=2 -- 查询年龄大于50的同学 select * from stu where age > 50 -- 查询年龄大于50岁的男同学 select * from stu where age>50 and sex='男' -- 查询年龄在30~60之间的同学,包括30和60 select * from stu where age>=30 and age<=60 select * from stu where age between 30 and 60
node.js操作mysql
通过mysql这个包来操作mysql数据库。
安装包
mysql模块是一个第三方模块,专门用来操作MySQL数据库。
# 安装 npm i mysql
使用步骤
要想用这个包连接数据库,首先要确保在电脑有mysql(phpstudy 还要启动mysql服务)
一共需要4个步骤:
加载 MySQL 模块
创建 MySQL 连接对象
连接 MySQL 服务器
执行SQL语句
var mysql = require('mysql'); var connection = mysql.createConnection({ host : 'localhost', // 你要连接的数据库服务器的地址 port : 3306,// 端口号 user : 'root', // 连接数据库服务器需要的用户名 password : 'root', // 连接数据库服务器需要的密码 database : 'gz61' //你要连接的数据库的名字 }); connection.connect((err) => { // 如果有错误对象,表示连接失败 if (err) return console.log('数据库连接失败') // 没有错误对象提示连接成功 console.log('mysql数据库连接成功') });
参考地址: www.npmjs.com/package/mys…
node操作mysql-查询操作
执行查询类型的SQL语句,查询结果(result)是一个数组,每个单元是对象,对象的属性是数据表的字段名。
// 1. 加载mysql const mysql = require('mysql'); // 2. 创建连接对象 const conn = mysql.createConnection({ // 对象的属性名字不能改变 host: 'localhost', port: 3306, user: 'root', password: 'root', database: 'gz61' }); // 3. 连接到MySQL服务器 connection.connect((err) => { // 如果有错误对象,表示连接失败 if (err) return console.log('数据库连接失败') // 没有错误对象提示连接成功 console.log('mysql数据库连接成功') }); // 4. 执行SQL语句 let sql = 'select id,name,age from stu'; connection.query(sql, (err, result, fields) => { if (err) throw err; // throw err 相当于 return console.log(err); console.log(result); // result就是查询结果 });
node操作mysql-添加操作
执行添加类型的SQL语句,查询结果(result)是一个对象,该对象中有两个属性要关注:
- affectedRows: 受影响行数
- insertID: 查询数据的主键值
// 1. 加载mysql const mysql = require('mysql'); // 2. 创建连接对象 const conn = mysql.createConnection({ // 对象的属性名字不能改变 host: 'localhost', port: 3306, user: 'root', password: 'root', database: 'gz61' }); // 3. 连接到MySQL服务器 connection.connect((err) => { // 如果有错误对象,表示连接失败 if (err) return console.log('数据库连接失败') // 没有错误对象提示连接成功 console.log('mysql数据库连接成功') }); let sql = 'insert into users (name,password) values("小王","snv")' connection.query(sql, (err, result) => { if (result.affectedRows > 0) { console.log('添加成功,新数据的id为:' + result.insertId); } else { console.log('添加失败'); } });
node操作mysql-修改操作
执行修改类型的SQL语句,查询结果(result)是一个对象,该对象中有 affectedRows 属性,表示本次修改操作影响到的行数。
// 1. 加载mysql const mysql = require('mysql'); // 2. 创建连接对象 const conn = mysql.createConnection({ // 对象的属性名字不能改变 host: 'localhost', port: 3306, user: 'root', password: 'root', database: 'gz61' }); // 3. 连接到MySQL服务器 connection.connect((err) => { // 如果有错误对象,表示连接失败 if (err) return console.log('数据库连接失败') // 没有错误对象提示连接成功 console.log('mysql数据库连接成功') }); // 更新 // update stu set 字段=值,字段=值 where id=11 let sql = 'update users set password="123" where name="小王"'; conn.query(sql, (err, result) => { if (err) throw err; if (result.affectedRows > 0) { console.log('修改成功'); } else { console.log('修改失败'); } })
node操作mysql-删除操作
执行删除类型的SQL语句,查询结果(result)是一个对象,该对象中有 affectedRows 属性
// 1. 加载mysql const mysql = require('mysql'); // 2. 创建连接对象 const conn = mysql.createConnection({ // 对象的属性名字不能改变 host: 'localhost', port: 3306, user: 'root', password: 'root', database: 'gz61' }); // 3. 连接到MySQL服务器 connection.connect((err) => { // 如果有错误对象,表示连接失败 if (err) return console.log('数据库连接失败') // 没有错误对象提示连接成功 console.log('mysql数据库连接成功') }); // 删除 let sql = 'delete from stu where id=1'; connection.query(sql,(err, result) => { if (err) throw err; if (result.affectedRows > 0) { console.log('删除成功'); } else { console.log('删除失败'); } });
了解一下软删除
做删除 : delete from 表名 条件
会把数据直接从数据库中删除掉!
思路:
- 不是真的删除,而是设置一个特殊的字段表示当前的状态:正常还是已经删除
# 目标:把id=16的软删除掉 update stu set isDelete=1 where id=16
模块化封装
分析上面几个单独的功能点,它们基本的语法格式是一致的,只是要执行的sql语句不同而已,所以,我们可以对它们进行一个简单的封装。然后再写测试文件对其进行测试。
涉及两个文件:
- sql.js
- sqltest.js
封装模块
模块名:sql.js
// 由于四项(insert,delete,update,select)操作只是sql语句不同 // 1. 加载mysql const mysql = require('mysql'); // 2. 创建连接对象 const conn = mysql.createConnection({ // 对象的属性名字不能改变 host: 'localhost', port: 3306, user: 'root', password: 'root', database: 'gz61' }); // 3. 连接到MySQL服务器 connection.connect((err) => { // 如果有错误对象,表示连接失败 if (err) return console.log('数据库连接失败') // 没有错误对象提示连接成功 console.log('mysql数据库连接成功') }); module.exports = connection
测试
sqltest.js
const conn = require('./sql'); conn.query('select * from users where username="小美1" and userpassword="666"', (err, data) => { console.log(err); console.log(data); if (data.length > 0) { console.log('用户名密码Ok'); } else { console.log('用户名密码error'); } });
更多node相关知识,请访问:nodejs 教程!
Atas ialah kandungan terperinci Mari kita bincangkan tentang cara nod mengendalikan pangkalan data MySQL (tambah, padam, ubah suai dan semak). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Prestasi pertanyaan MySQL boleh dioptimumkan dengan membina indeks yang mengurangkan masa carian daripada kerumitan linear kepada kerumitan logaritma. Gunakan PreparedStatements untuk menghalang suntikan SQL dan meningkatkan prestasi pertanyaan. Hadkan hasil pertanyaan dan kurangkan jumlah data yang diproses oleh pelayan. Optimumkan pertanyaan penyertaan, termasuk menggunakan jenis gabungan yang sesuai, membuat indeks dan mempertimbangkan untuk menggunakan subkueri. Menganalisis pertanyaan untuk mengenal pasti kesesakan; gunakan caching untuk mengurangkan beban pangkalan data;

Membuat sandaran dan memulihkan pangkalan data MySQL dalam PHP boleh dicapai dengan mengikuti langkah berikut: Sandarkan pangkalan data: Gunakan arahan mysqldump untuk membuang pangkalan data ke dalam fail SQL. Pulihkan pangkalan data: Gunakan arahan mysql untuk memulihkan pangkalan data daripada fail SQL.

Bagaimana untuk memasukkan data ke dalam jadual MySQL? Sambung ke pangkalan data: Gunakan mysqli untuk mewujudkan sambungan ke pangkalan data. Sediakan pertanyaan SQL: Tulis pernyataan INSERT untuk menentukan lajur dan nilai yang akan dimasukkan. Laksanakan pertanyaan: Gunakan kaedah query() untuk melaksanakan pertanyaan sisipan Jika berjaya, mesej pengesahan akan dikeluarkan.

Salah satu perubahan utama yang diperkenalkan dalam MySQL 8.4 (keluaran LTS terkini pada 2024) ialah pemalam "Kata Laluan Asli MySQL" tidak lagi didayakan secara lalai. Selanjutnya, MySQL 9.0 mengalih keluar pemalam ini sepenuhnya. Perubahan ini mempengaruhi PHP dan apl lain

Untuk menggunakan prosedur tersimpan MySQL dalam PHP: Gunakan PDO atau sambungan MySQLi untuk menyambung ke pangkalan data MySQL. Sediakan penyata untuk memanggil prosedur tersimpan. Laksanakan prosedur tersimpan. Proses set keputusan (jika prosedur tersimpan mengembalikan hasil). Tutup sambungan pangkalan data.

Mencipta jadual MySQL menggunakan PHP memerlukan langkah berikut: Sambung ke pangkalan data. Buat pangkalan data jika ia tidak wujud. Pilih pangkalan data. Buat jadual. Laksanakan pertanyaan. Tutup sambungan.

Cara menggunakan MySQLi untuk mewujudkan sambungan pangkalan data dalam PHP: Sertakan sambungan MySQLi (require_once) Cipta fungsi sambungan (functionconnect_to_db) Fungsi sambungan panggilan ($conn=connect_to_db()) Laksanakan pertanyaan ($result=$conn->query()) Tutup sambungan ( $conn->close())

Keluaran terbaharu Apple bagi sistem iOS18, iPadOS18 dan macOS Sequoia telah menambah ciri penting pada aplikasi Photos, yang direka untuk membantu pengguna memulihkan foto dan video yang hilang atau rosak dengan mudah disebabkan pelbagai sebab. Ciri baharu ini memperkenalkan album yang dipanggil "Dipulihkan" dalam bahagian Alat pada apl Foto yang akan muncul secara automatik apabila pengguna mempunyai gambar atau video pada peranti mereka yang bukan sebahagian daripada pustaka foto mereka. Kemunculan album "Dipulihkan" menyediakan penyelesaian untuk foto dan video yang hilang akibat kerosakan pangkalan data, aplikasi kamera tidak disimpan ke pustaka foto dengan betul, atau aplikasi pihak ketiga yang menguruskan pustaka foto. Pengguna hanya memerlukan beberapa langkah mudah
