码迷,mamicode.com
首页 > 数据库 > 详细

MySQL 基础教程-02

时间:2020-12-14 13:09:21      阅读:3      评论:0      收藏:0      [点我收藏+]

标签:一个   char   环境   变化   mysql   shel   语句   建表   会话   

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

用 SHOW 语句可以查出当前服务器上有哪些数据库:


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

mysql数据库描述了用户访问权限。test 数据库通常作为用户测试使用。以上sql语句列出的数据库可能因机器而有所不同。SHOW DATABASES 语句并不会列出你无权访问的数据库。如果test数据库存在,可以尝试访问它:


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. 创建并选定数据库

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查询表中列的名称或者类型。

MySQL 基础教程-02

标签:一个   char   环境   变化   mysql   shel   语句   建表   会话   

原文地址:https://blog.51cto.com/15023289/2561191

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!