如何为我的nodejs项目创建mysql数据库?

时间:2019-04-18 10:36:28

标签: mysql node.js

这实际上应该是基本且简单的操作,但是我很难找到关于如何为我的nodejs打字稿项目创建简单数据库的任何可理解的信息。

我已经使用npm安装了以下软件包:

  • mysql2
  • 序列化
  • sequelize-cli
  • sequelize-typescript

我在终端上尝试了以下命令

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>

那我该如何创建数据库,以便可以通过续集等方式连接到它?

2 个答案:

答案 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