Mysql学习笔记002

创建并使用数据库

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

SHOW DATABASES;

mysql> SHOW DATABASES;
+--------------------+
| Database |
+--------------------+
| information_schema |
| db_nenu_jysj |
| db_study |
| mysql |
| performance_schema |
| sys |
+--------------------+
6 rows in set (0.00 sec)

mysql>

 mysql数据库是必需的,因为他描述用户访问权限。

if(没有SHOW DATABASES权限){

    不能看见所有数据库;

}

尝试访问存在的数据库

USE db_study

mysql> USE db_study;
Database changed
mysql>

注意:USE跟QUIT类似 不需要分号(;) 结束,养成习惯写上也行。USE 必须在一行上执行。

错误示例:

mysql> USE
ERROR:
USE must be followed by a database name
mysql>

我想创建一个数据库

CREATE DATABASE test;

mysql> CREATE DATABASE test;
Query OK, 1 row affected (0.00 sec)

mysql>

 

 

我现在能创建数据库、选择数据库了,但是数据库里面要有一些表才行啊,NULLNULL的数据库系不行の。

 

 

查看数据库中的表

SHOW TABLES;

mysql> SHOW TABLES;
Empty set (0.00 sec)

mysql>

创建一个表

书上的栗子,从前有一个宠物的表(pet) 有这些字段:名字(name)、主人(owner)、种类(species)、性别(sex)、出生(birth)和死亡日期(death)。

mysql> CREATE TABLE pet(
-> name VARCHAR(20),
-> owner VARCHAR(20),
-> species VARCHAR(20),
-> sex CHAR(1),
-> birth DATE,
-> death DATE);
Query OK, 0 rows affected (0.26 sec)

mysql>

至于这些字段用什么样子的数据类型,你可以百度一下mysql的数据类型。

现在我SHOW一下 应该是有一个表的

mysql> SHOW TABLES;
+----------------+
| Tables_in_test |
+----------------+
| pet |
+----------------+
1 row in set (0.00 sec)

mysql>

为了验证你的表是按照期望的方式创建的,使用一个DESCRIBE语句

DESCRIBE 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 | |
+---------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

mysql>

其实可以简写成:

DESC pet;

*<(´・ω・)っ由

 现在我们,创建了数据库,在数据库里面创建了一个表(pet) 我们要往里面插入数据了。

LOAD DATA

添加数据有一个简易(我不会、嫌麻烦)的方法:

创建一个文本文件"pet.txt",每行写一个记录,对于没法确定的值(比如说死亡日期,性别)可以使用NULL 在文本中用  \N  表示。

然后用下面的命令:(我把这个文本文件放到了C盘下面,这里演示的是Windows用户  在运行OS X的Apple机上,应使用行结束符'\r'。)

mysql> LOAD DATA LOCAL INFILE 'C:/pet.txt' INTO TABLE pet
-> LINES TERMINATED BY '\r\n';
Query OK, 1 row affected (0.23 sec)
Records: 1 Deleted: 0 Skipped: 0 Warnings: 0

mysql> select * from pet;
+----------+-------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+-------+
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
+----------+-------+---------+------+------------+-------+
1 row in set (0.00 sec)

mysql>

LOAD DATA语句是多么的简易(麻烦)啊,注意你安装的Mysql可能与默认的本地文件不兼容(GG).

INSERT

其实还有一种方法就是INSERT 语句增加一条记录

mysql> INSERT INTO pet
-> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
Query OK, 1 row affected (0.16 sec)

mysql> select * from pet;
+----------+-------+---------+------+------------+-------+
| name | owner | species | sex | birth | death |
+----------+-------+---------+------+------------+-------+
| Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
| Puffball | Diane | hamster | f | 1999-03-30 | NULL |
+----------+-------+---------+------+------------+-------+
2 rows in set (0.00 sec)

mysql>

INSERT语句中NULL代表不存在的值,不能用\N表示。

posted @ 2017-05-25 15:48  御坂美琴2604  阅读(167)  评论(0编辑  收藏  举报