标签:一个 char 环境 变化 mysql shel 语句 建表 会话
内容简介:用 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查询表中列的名称或者类型。
标签:一个 char 环境 变化 mysql shel 语句 建表 会话
原文地址:https://blog.51cto.com/15023289/2561191