linux中mysql数据库表的创立和数据的批量导入
时间: 2024-02-06 15:13:06 浏览: 78
创建MySQL数据库表可以使用以下命令:
```
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
column3 datatype constraints,
...
);
```
其中,`table_name` 是要创建的表名,`column1`、`column2`、`column3` 等是表中的列名,`datatype` 是列的数据类型,`constraints` 是列的约束条件(如 NOT NULL、PRIMARY KEY 等)。
例如,以下命令可以创建一个名为 `users` 的表,其中包含 `id`、`name` 和 `email` 三个列:
```
CREATE TABLE users (
id INT PRIMARY KEY NOT NULL,
name VARCHAR(50) NOT NULL,
email VARCHAR(50)
);
```
要批量导入数据到MySQL表中,可以使用 `LOAD DATA INFILE` 命令。假设我们有一个名为 `users.csv` 的文件,其中包含了要导入到 `users` 表中的数据,可以使用以下命令导入数据:
```
LOAD DATA INFILE '/path/to/users.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
```
其中,`/path/to/users.csv` 是文件的路径,`users` 是要导入数据的表名,`FIELDS TERMINATED BY ','` 表示列之间使用逗号分隔,`ENCLOSED BY '"'` 表示列值被双引号包含,`LINES TERMINATED BY '\n'` 表示行之间使用换行符分隔。
需要注意的是,`LOAD DATA INFILE` 命令默认只允许从服务器本地文件系统中导入数据,如果要从远程系统中导入数据,需要在命令中添加 `LOCAL` 关键字,如下所示:
```
LOAD DATA LOCAL INFILE '/path/to/users.csv'
INTO TABLE users
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';
```
另外,从MySQL 8.0.19 版本开始,如果要使用 `LOAD DATA INFILE` 命令导入数据,需要确保 MySQL 服务器的 `local_infile` 参数被设置为 `ON`,否则会导致导入失败。可以通过以下命令查看和设置该参数:
```
SHOW VARIABLES LIKE 'local_infile';
SET GLOBAL local_infile = ON;
```
阅读全文