mysql 用sql语句创建数据库和表

时间:2015-11-14
目前很多新手在创建数据库的时候,直接使用窗口手动操作的方法来创建数据库。对于新手而言,站长不推荐使用手动操作来创建,那样对学习mysql的帮助不大,想反,如果使用sql(结构化查询语言)来创建数据库,对学习更有帮助。本文将为大家讲解mysql中如何用sql语句创建数据库和表。

1、使用SHOW语句找出在服务器上当前存在什么数据库:

mysql> SHOW DATABASES; 
+----------+ 
| Database | 
+----------+ 
| mysql | 
| test | 
+----------+ 
3 rows in set (0.00 sec)

2、创建一个数据库abccs 

mysql> CREATE DATABASE abccs;

注意不同操作系统对大小写的敏感。 

3、选择你所创建的数据库 

mysql> USE abccs 

此时你已经进入你刚才所建立的数据库abccs. 

4、 创建一个数据库表 
首先看现在你的数据库中存在什么表:

mysql> SHOW TABLES; 

说明刚才建立的数据库中还没有数据库表。下面来创建一个数据库表mytable:   我们要建立一个你公司员工的生日表,表的内容包含员工姓名、性别、出生日期、出生城市。


mysql> CREATE TABLE mytable (name VARCHAR(20), sex CHAR(1), 
-> birth DATE, birthaddr VARCHAR(20)); 
Query OK, 0 rows affected (0.00 sec)

由于name、birthadd的列值是变化的,因此选择VARCHAR,其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。);性别只需一个字符就可以表示:"m"或"f",因此选用CHAR(1);birth列则使用DATE数据类型。 
创建了一个表后,我们可以看看刚才做的结果,用SHOW TABLES显示数据库中有哪些表:


mysql> SHOW TABLES; 
+---------------------+ 
| Tables in menagerie | 
+---------------------+ 
| mytables | 
+---------------------+

5、显示表的结构:

mysql> DESCRIBE mytable; 
+-------------+-------------+------+-----+---------+-------+ 
| Field | Type | Null | Key | Default | Extra | 
+-------------+-------------+------+-----+---------+-------+ 
| name | varchar(20) | YES | | NULL | | 
| sex | char(1) | YES | | NULL | | 
| birth | date | YES | | NULL | | 
| deathaddr | varchar(20) | YES | | NULL | | 
+-------------+-------------+------+-----+---------+-------+ 
4 rows in set (0.00 sec)

6、 往表中加入记录 

我们先用SELECT命令来查看表中的数据: 

mysql> select * from mytable; 
Empty set (0.00 sec)

这说明刚才创建的表还没有记录。 加入一条新记录: 

mysql> insert into mytable 
-> values (′abccs′,′f′,′1977-07-07′,′china′); 
Query OK, 1 row affected (0.05 sec)

再用上面的SELECT命令看看发生了什么变化。我们可以按此方法一条一条地将所有员工的记录加入到表中。

7、用文本方式将数据装入一个数据库表 
如果一条一条地输入,很麻烦。我们可以用文本文件的方式将所有记录加入你的数据库表中。创建一个文本文件“mysql.txt”,每行包含一个记录,用定位符(tab)把值分开,并且以在CREATE TABLE语句中列出的列次序给出,例如: 

abccs f 1977-07-07 china   
mary f 1978-12-12 usa 
tom m 1970-09-02 usa

使用下面命令将文本文件“mytable.txt”装载到mytable表中:

mysql> LOAD DATA LOCAL INFILE "mytable.txt" INTO TABLE pet; 

再使用如下命令看看是否已将数据输入到数据库表中:

mysql> select * from mytable;