MySQL中库、表创建需注意事项

MySQL中,我们在创建库和表时,会有一些疏忽,造成错误难以检查。

我创建了一个名为python3的数据库以及名为students的表,数据库如下:

mysql> SHOW CREATE DATABASE python3;
+----------+------------------------------------------------------------------+
| Database | Create Database                                                  |
+----------+------------------------------------------------------------------+
| python3  | CREATE DATABASE `python3` /*!40100 DEFAULT CHARACTER SET utf8 */ |
+----------+------------------------------------------------------------------+
1 row in set (0.00 sec)

但是我们想显示创建表信息,却出现如下错误:

mysql> SHOW CREATE TABLE students;

ERROR 1046 (3D000): No database selected

出现这种情况是因为没有切换到当前数据库,应该加上use python3:

mysql> use python3;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A


Database changed

这时已经切换到当前数据库了。

关于创建表的信息:

# students中有四个参数:number(文本格式,9位);name(可变文本,最高20位),
# age(整型);birthDATE时间格式)
CREATE TABLE students(
    number CHAR(9),
    name VARCHAR(20),
    age INT,
    birth DATE
);
在表格里添加信息,三种方式:

INSERT INTO students(number,name,age) VALUES('201812101','吴彦祖',26); #三个参数,缺少的一个会用null补上
INSERT INTO students VALUES('201812102','陈冠希',25,'1989-11-11');  #四个参数
INSERT INTO students VALUES('201812103','吴磊',19,'1995-10-01'),('201812104','张学友',40,'1980-11-12'),('201812105','陈奕迅',37,'1988-12-09');
执行结果:

mysql> SELECT * FROM students;
+-----------+-----------+------+------------+
| number    | name      | age  | birth      |
+-----------+-----------+------+------------+
| 201812101 | 吴彦祖    |   26 | NULL       |
| 201812102 | 陈冠希    |   25 | 1993-10-19 |
| 201812103 | 吴磊      |   19 | 1995-10-01 |
| 201812104 | 张学友    |   40 | 1980-11-12 |
| 201812105 | 陈奕迅    |   37 | 1988-12-09 |
+-----------+-----------+------+------------+

5 rows in set (0.04 sec)

增加表格信息时,除了第一个方法可以少赋值参数,其他两种都得一一对应。DATE的格式是:'1993-10-19',注意有'-'。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章