Rust: MariaDB のデータを作成 (Create)


こちらのプログラムで読むデータを作成します。
Rust: MariaDB のデータを読む (Read)

フォルダー構造

$ tree -L 2
.
├── Cargo.lock
├── Cargo.toml
├── src
│   ├── main.rs
│   └── utils.rs
└── target
    └── debug
Cargo.toml
[package]
name = "create"
version = "0.1.0"
edition = "2018"

#

[dependencies]
diesel = { version = "*", features = ["mysql"] }
src/main.rs
// --------------------------------------------------------------------
/*
    create/src/main.rs

                    Jul/17/2020
*/
// --------------------------------------------------------------------
use crate::utils::establish_connection;
use diesel::mysql::MysqlConnection;
use diesel::prelude::*;

mod utils;

// --------------------------------------------------------------------
fn simple_sql() {
    let connection: MysqlConnection = establish_connection();

    let mut sql_str = "drop table cities";
    connection.execute(&sql_str).unwrap();

    sql_str = "create TABLE cities
        (id varchar(10) NOT NULL PRIMARY KEY,
        name text,population int,date_mod text)";
    connection.execute(&sql_str).unwrap();

    sql_str = "insert into cities (id, Name, Population, date_mod)
         values('t3321','岡山','43781','2000-3-15')";
    connection.execute(&sql_str).unwrap();

    sql_str = "insert into cities (id, Name, Population, date_mod)
         values('t3322','倉敷','79124','2000-8-9')";
    connection.execute(&sql_str).unwrap();

    sql_str = "insert into cities (id, Name, Population, date_mod)
         values('t3323','津山','31586','2000-6-21')";
    connection.execute(&sql_str).unwrap();
}

// --------------------------------------------------------------------
fn main (){
    eprintln! ("*** 開始 ***");

    simple_sql();

    eprintln! ("*** 終了 ***");
}

// --------------------------------------------------------------------

src/utils.rs は、こちらのものと同じ
Rust: MariaDB のデータを読む (Read)

コンパイル

cargo build

実行

cargo run