MySQL 基础教程-02

内容简介:
一旦学会了如何输入SQL语句,就能够访问数据库了!
假如你家里有几个宠物,而且但愿记录关于它们的各类信息,你能够建立数据表来存储这些信息。以后你就能够经过检索这些信息来回答各类关于你的动物的问题。
menagerie数据库很简单,可是经过它咱们不难了解到现实世界中的相似状况。例如,农民可使用相似的数据库来记录牲畜数据,兽医使用数据库记录动物的病例。如下部分用到的数据库能够在这个网站获取:https://dev.mysql.com/doc/mysql

用 SHOW 语句能够查出当前服务器上有哪些数据库:sql


mysql> SHOW DATABASES; 
+----------+ 
| Database | 
+----------+ 
| mysql  | 
| test   | 
| tmp    | 
+----------+

mysql数据库描述了用户访问权限。test 数据库一般做为用户测试使用。以上sql语句列出的数据库可能因机器而有所不一样。SHOW DATABASES 语句并不会列出你无权访问的数据库。若是test数据库存在,能够尝试访问它:shell


mysql> USE test
Database changed

USE 和 QUIT 类似,不须要分号结尾(固然若是你喜欢加分号,也没有关系), USE 语句还有另一个特殊之处:它必须在一行内。
后面的示例可使用 test 数据库,可是你在这个库里建立的任何数据均可能会被其余访问者删除。所以,你应该联系管理员受权使用你本身的数据库,例如你想访问 menagerie 数据库,管理员会执行以下语句给你受权:数据库

mysql> GRANT ALL ON menagerie.* TO 'your_mysql_name'@'your_client_host';

your_mysql_name 是你的MySQL用户,your_client_host 是主机地址,你从这个主机链接服务器。服务器

1. 建立并选定数据库ide

mysql> CREATE DATABASE menagerie;

在UNIX环境中,数据库名称是区分大小写的,所以必定要注意,须要一直使用 menagerie, 不能使用相似于 Menagerie, MENAGERIE 等变体,表名称也是如此。(在Windows系统中没有这个限制,可是由于种种缘由,最佳实践仍是推荐使用在建立时用的名称)
建立了一个数据库并不会自动选中它,必须明确指定数据库。要使 menagerie 成为当前数据库,使用以下语句:布局

mysql> USE menagerie
Database changed

数据库只需建立一次,可是在每次开始mysql会话时,要使用数据库都须要先选中它。除了使用USE语句,还能够在启动mysql时,在命令行中选择数据库:测试

shell> mysql -h host -u user -p menagerie
Enter password: ********

2. 建立表
建立数据库很简单,但此时它是空的,使用SHOW TABLES语句结果以下:网站

mysql> SHOW TABLES; 
Empty set (0.00 sec)

考虑数据库结构是有些复杂的,这时须要考虑要包含什么表,以及每一个表都须要什么列。
咱们须要一个表来记录各类宠物,能够命名为 pet,最低限度上,它应该包含每一个动物的名字。可是名字自己并无什么意思,表应该包含更多其余信息。例如,若是家庭中不止一人饲养宠物,你可能须要列出每一个动物的主人,你可能还想记录其余信息,好比物种和性别。年龄信息也颇有意思,可是并不适合存在数据库中,由于它会随着时间变化,所以,存储一个固定值,好比出生日期,可能会更合适!
使用CREATE TABLE语句指定表的布局:命令行

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

对于name, owner 和species 列,VARCHAR是比较适合的,由于列的内容长度是变化的,能够不用都设定为20,通常能够设定为1-65535之间的任何长度。若是设置的长度不合理,之后须要修改,可使用ALTER TABLE语句。
建立表以后,使用 SHOW TABLES 语句能够看到相似以下结果:


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

若要验证表是否正确建立,可使用 DESCRIBE 语句:


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    |       |
+---------+-------------+------+-----+---------+-------+

能够在任什么时候候使用DESCRIBE查询表中列的名称或者类型。

相关文章
相关标签/搜索