📅  最后修改于: 2023-12-03 14:44:30.895000             🧑  作者: Mango
本速查表主要介绍在使用 TypeScript 开发时,如何使用 MySQL 数据库进行数据交互。涉及到的内容包括连接 MySQL 数据库、查询、插入、修改和删除等常用操作。
在使用 TypeScript 进行 MySQL 开发前,需要安装 mysql
模块和 @types/mysql
模块。
npm install mysql
npm install @types/mysql --save-dev
在 TypeScript 文件中使用 mysql
模块连接 MySQL 数据库的代码如下:
import mysql from 'mysql';
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
password: 'password',
database: 'test'
});
connection.connect((err) => {
if (err) {
console.error('Error connecting to MySQL database', err);
return;
}
console.log('Successfully connected to MySQL database');
});
其中,createConnection
函数用于创建 MySQL 数据库连接,参数包括 host
、user
、password
和 database
,即连接的主机、用户名、密码和数据库名。connect
函数用于连接到 MySQL 数据库。如果连接失败,会打印出错误信息。
查询 MySQL 数据库的方式有两种:回调函数和 Promise
。
使用回调函数查询 MySQL 数据库的代码如下:
connection.query('SELECT * FROM users', (err, results) => {
if (err) {
console.error('Error querying MySQL database', err);
return;
}
console.log('MySQL query results:', results);
});
其中,query
函数用于执行查询语句。第一个参数是要执行的 SQL 语句,第二个参数是一个回调函数,其中第一个参数为可能出现的错误,第二个参数为查询结果。
使用 Promise
查询 MySQL 数据库的代码如下:
const query = (sql: string): Promise<any> => {
return new Promise((resolve, reject) => {
connection.query(sql, (err, results) => {
if (err) {
reject(err);
} else {
resolve(results);
}
});
});
};
query('SELECT * FROM users')
.then((results) => {
console.log('MySQL query results:', results);
})
.catch((err) => {
console.error('Error querying MySQL database', err);
});
其中,query
函数返回一个 Promise
对象,使用 resolve
和 reject
分别返回查询结果和错误信息。使用 then
处理查询结果,使用 catch
处理错误信息。
插入数据的方式同样有两种:回调函数和 Promise
。
使用回调函数插入数据的代码如下:
connection.query('INSERT INTO users (name, age) VALUES (?, ?)', ['Alice', 18], (err, results) => {
if (err) {
console.error('Error inserting data into MySQL database', err);
return;
}
console.log('Successfully inserted data into MySQL database');
});
其中,?
表示参数占位符,后面的数组依次对应这些占位符。
使用 Promise
插入数据的代码如下:
const insert = (sql: string, values: any[]): Promise<any> => {
return new Promise((resolve, reject) => {
connection.query(sql, values, (err, results) => {
if (err) {
reject(err);
} else {
resolve(results);
}
});
});
};
insert('INSERT INTO users (name, age) VALUES (?, ?)', ['Alice', 18])
.then(() => {
console.log('Successfully inserted data into MySQL database');
})
.catch((err) => {
console.error('Error inserting data into MySQL database', err);
});
修改数据同样有两种方式:回调函数和 Promise
。
使用回调函数修改数据的代码如下:
connection.query('UPDATE users SET age = ? WHERE name = ?', [20, 'Alice'], (err, results) => {
if (err) {
console.error('Error updating data in MySQL database', err);
return;
}
console.log('Successfully updated data in MySQL database');
});
其中,UPDATE
语句用于修改数据。第一个参数表示要修改的数据表,第二个参数表示要修改的字段和新值,第三个参数表示修改的条件。
使用 Promise
修改数据的代码如下:
const update = (sql: string, values: any[]): Promise<any> => {
return new Promise((resolve, reject) => {
connection.query(sql, values, (err, results) => {
if (err) {
reject(err);
} else {
resolve(results);
}
});
});
};
update('UPDATE users SET age = ? WHERE name = ?', [20, 'Alice'])
.then(() => {
console.log('Successfully updated data in MySQL database');
})
.catch((err) => {
console.error('Error updating data in MySQL database', err);
});
删除数据同样有两种方式:回调函数和 Promise
。
使用回调函数删除数据的代码如下:
connection.query('DELETE FROM users WHERE age > ?', [18], (err, results) => {
if (err) {
console.error('Error deleting data from MySQL database', err);
return;
}
console.log('Successfully deleted data from MySQL database');
});
其中,DELETE
语句用于删除数据。第一个参数表示要删除的数据表,第二个参数表示删除的条件。
使用 Promise
删除数据的代码如下:
const del = (sql: string, values: any[]): Promise<any> => {
return new Promise((resolve, reject) => {
connection.query(sql, values, (err, results) => {
if (err) {
reject(err);
} else {
resolve(results);
}
});
});
};
del('DELETE FROM users WHERE age > ?', [18])
.then(() => {
console.log('Successfully deleted data from MySQL database');
})
.catch((err) => {
console.error('Error deleting data from MySQL database', err);
});
});
以上就是在使用 TypeScript 开发时,如何使用 MySQL 数据库进行数据交互的速查表。