import mysql, {
ConnectionOptions,
ResultSetHeader,
RowDataPacket,
} from 'mysql2/promise';
interface User extends RowDataPacket {
0: number;
1: string;
}
(async () => {
const access: ConnectionOptions = {
host: '',
user: '',
password: '',
database: '',
rowsAsArray: true,
};
const conn = await mysql.createConnection(access);
await conn.query<ResultSetHeader>('DROP TABLE IF EXISTS `users`;');
await conn.query<ResultSetHeader>(
'CREATE TABLE `users` (`id` INT(11) AUTO_INCREMENT, `name` VARCHAR(50), PRIMARY KEY (`id`));'
);
const [inserted] = await conn.execute<ResultSetHeader>(
'INSERT INTO `users`(`name`) VALUES(?), (?), (?), (?);',
['Josh', 'John', 'Marie', 'Gween']
);
console.log('Inserted:', inserted.affectedRows);
const [users] = await conn.query<User[]>(
'SELECT * FROM `users` ORDER BY `name` ASC;'
);
users.forEach((user) => {
console.log('-----------');
console.log('id: ', user[0]);
console.log('name:', user[1]);
});
await conn.end();
})();