天天看点

mysql创建表、加载数据到表中

mysql创建表、加载数据到表中

一、创建pet表(宠物表),包含列:宠物名字,拥有者,物种,性别,出生日期,死亡日期:

mysql> CREATE TABLE pet (name VARCHAR(20), owner VARCHAR(20),
    -> species VARCHAR(20), sex CHAR(1), birth DATE, death DATE);
           

一旦你创建了表,你可以查看刚刚创建的表是否是想创建的表:

mysql> SHOW TABLES;
+---------------------+
| Tables in menagerie |
+---------------------+
| pet                 |
+---------------------+
mysql> DESCRIBE pet;
+---------+-------------+------+-----+---------+-------+
| Field   | Type        | Null | Key | Default | Extra |
+---------+-------------+------+-----+---------+-------+
| name    | varchar(20) | YES  |     | NULL    |       |
| owner   | varchar(20) | YES  |     | NULL    |       |
| species | varchar(20) | YES  |     | NULL    |       |
| sex     | char(1)     | YES  |     | NULL    |       |
| birth   | date        | YES  |     | NULL    |       |
| death   | date        | YES  |     | NULL    |       |
+---------+-------------+------+-----+---------+-------+
           

可以看到表pet的字段,类型,等数据。

我们也可以通过脚本的方式进行创建表,在一个文件中写创建表的脚本,然后在mysql>中使用source命令或.运行,如下:

mysql> source ./testCreateTable.txt;
Database changed
Query OK, 0 rows affected, 1 warning (0.00 sec)

Query OK, 0 rows affected (0.24 sec)
mysql> \. ./studentScore.txt
Database changed
Query OK, 0 rows affected (0.14 sec)

Query OK, 0 rows affected (0.24 sec)
           

其中,testCreateTable.txt是脚本文件,内容如下:

use test
drop table if exists testTable;
create table testTable(name varchar(50),
address varchar(50),
timestamp timestamp,
primary key(name));
           

二、加载数据到表中

创建表之后,你需要填充数据,你可以通过LOAD DATA和INSERT来实现。

数据格式如下:

Whistler        Gwen    bird    \N      1997-12-09      \N
           

列之间使用\t间隔(LOAD DATA默认的列间隔符),\N表示NULL。

加载文件pet.txt中的数据到表pet中,使用以下命令:

如果pet.txt文件是在Windows下编辑的,则换行符为\r\n,需要指定\r\n为行终止符,如下所示:

mysql> LOAD DATA LOCAL INFILE '/path/pet.txt' INTO TABLE pet
    -> LINES TERMINATED BY '\r\n';
           

在LOAD DATA语句中,你可以显示指定列间隔符和行终止符。默认的列间隔符为TAB,行终止符为换行。

当你想新增一条数据时,可以使用INSERT语句:

mysql> INSERT INTO pet
    -> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
           

注意:这里不能像LOAD DATA一样,空值要使用NULL,不能使用\N。