这实际上应该是基本且简单的操作,但是我很难找到关于如何为我的nodejs打字稿项目创建简单数据库的任何可理解的信息。
我已经使用npm安装了以下软件包:
我在终端上尝试了以下命令
C:\repos\NodeNew>mysql2 -u root -p
'mysql2' is not recognized as an internal or external command,
operable program or batch file.
C:\repos\NodeNew>mysql -u root -p
'mysql' is not recognized as an internal or external command,
operable program or batch file.
C:\repos\NodeNew>node mysql2 -u root -p
module.js:538
throw err;
^
Error: Cannot find module 'C:\repos\NodeNew\mysql2'
at Function.Module._resolveFilename (module.js:536:15)
at Function.Module._load (module.js:466:25)
at Function.Module.runMain (module.js:676:10)
at startup (bootstrap_node.js:187:16)
at bootstrap_node.js:608:3
C:\repos\NodeNew>
那我该如何创建数据库,以便可以通过续集等方式连接到它?
答案 0 :(得分:1)
您安装的工具仅用于将Node.js应用程序连接到MySQL,不包括用于管理MySQL服务器的命令行工具。
我假设您已经安装了MySQL并且它正在运行–然后,您应该能够在服务器安装目录的mysql.exe
目录中找到其bin/
命令行客户端。如果您还没有摆弄认证,那么只需运行它就可以了。
当您进入MySQL提示符时,您可以按照任何旧的说明创建数据库。 CREATE DATABASE foo;
是其要旨(身份验证和权限是另一回事)。
由于您使用的是Windows,因此您可能想研究HeidiSQL –自从我使用它已经有一段时间了,但这是一个不错的图形MySQL管理工具。
您还可以使用mysql2
创建数据库(如下图所示),但是我建议您使用管理工具。
const mysql = require('mysql2');
const connection = mysql.createConnection({
host: 'localhost',
user: 'root',
database: 'mysql',
});
connection.query('CREATE DATABASE foo');
答案 1 :(得分:0)
您应该在计算机上安装MySQL,要在Windows上安装mysql,请参见以下页面:MySql 一旦MySQL启动并在计算机上运行。打开命令终端并执行以下操作:
import React from 'react';
import {
SafeAreaView,
View,
FlatList,
Text,
StyleSheet,
Animated,
PanResponder
} from 'react-native';
import { v4 } from 'uuid';
export default class App extends React.PureComponent{
state = {
data: [
{ id: v4(), title: 'Lightcoral', hex: '#eb7474' },
{ id: v4(), title: 'Orchid', hex: '#eb74dc' },
{ id: v4(), title: 'Mediumpurple', hex: '#9a74eb' },
{ id: v4(), title: 'Mediumslateblue', hex: '#8274eb' },
{ id: v4(), title: 'Skyblue', hex: '#74b6eb' },
{ id: v4(), title: 'Paleturquoise', hex: '#93ece2' },
{ id: v4(), title: 'Palegreen', hex: '#93ecb6' },
{ id: v4(), title: 'Khaki', hex: '#d3ec93' }
]
}
_position = new Animated.ValueXY()
_panResponder = PanResponder.create({
onStartShouldSetPanResponder: () => true,
onPanResponderMove: (event, gesture) => {
this._position.setValue({ x: gesture.dx, y: gesture.dy})
},
onPanResponderRelease: () => {}
})
_keyExtractor = (item) => item.id;
_renderItem = ({item}) => {
return (
<Animated.View
style={this._position.getLayout()}
{...this._panResponder.panHandlers}
>
<View style={[styles.itemBox, {backgroundColor: `${item.hex}`}]}>
<Text>{item.title}</Text>
</View>
</Animated.View>
)
}
render() {
const { data } = this.state
return (
<SafeAreaView style={styles.safeArea}>
<View style={styles.container}>
<View style={styles.targetArea}>
<Text>Drop HERE!!!</Text>
</View>
<View style={{ height: 80, borderColor: 'black', borderWidth: 2 }}>
<FlatList
data={data}
keyExtractor={this._keyExtractor}
renderItem={this._renderItem}
horizontal={true}
/>
</View>
</View>
</SafeAreaView>
);
}
}
const styles = StyleSheet.create({
safeArea: {
flex: 1
},
container: {
flex: 1,
justifyContent: 'space-between',
alignItems: 'center',
backgroundColor: '#fff',
},
itemBox: {
width: 80,
height: 80,
alignItems: 'center',
justifyContent: 'center',
borderWidth: 1,
borderColor: '#fff'
},
targetArea: {
height: 150,
width: 150,
alignItems: 'center',
justifyContent: 'center',
borderWidth: 1,
borderColor: '#eee',
backgroundColor: '#F5FCFF',
marginTop: 40
}
});
现在,您已经下载并安装了mysql数据库驱动程序。 Node.js可以使用此模块来操作MySQL数据库:
npm install mysql
要创建一个连接,请创建一个文件connection.js:
var mysql = require('mysql');
对其进行测试以保存文件并运行:
var con = mysql.createConnection({
host: "localhost",
user: "yourusername",
password: "yourpassword"
});
con.connect(function(err) {
if (err) throw err;
console.log("Connected!");
});
哪个会给您这个结果:
node connection.js