背景:由于英文语句的繁琐与广大Linux初学者的英文水平普遍较低,故写此文。由于作者本人水平有限,故只从基本操作来编写一个中文说明手册,方便初学者入门而已。
环境:CentOS 5.4,默认使用rpm安装好MySQL相关包。
一、 MySQL初始
MySQL刚安装完毕,需要进行一系列初始化配置。具体如下:
1. 启动MySQL服务
在进行操作之前,首先要启动MySQL服务,具体操作如下:
[root@server ~]# service mysqld start
Starting MySQL: [ OK ]
这样,就启动了MySQL服务。如果需要开机启动,可以输入以下命令并回车:
[root@server ~]# chkconfig mysqld on
这样,在以后启动Linux系统时,MySQL服务也会随机启动了。注意,在执行该命令
操作后,不会有任何的输出。
2. 设置MySQL管理员密码
在进入MySQL之前,首先要为MySQL设置一个可以登录的管理员用户及设置相应的密码。具体操作如下:
[root@server ~]# mysqladmin -u root -p password redhat
如果该命令没有任何输出,则说明设置正确,就可以以设置的用户名和密码登录到
MySQL数据库中了。该命令说明如下:
mysqladmin -u root -p password redhat
MySQL管理员程序 设置用户 用户名 设置密码 用户密码
3. 进入MySQL数据库
下面,我们将使用上面设置的用户和密码进入MySQL数据库。
[root@server ~]# mysql -u root -p
Enter password:<输入上面设置的密码:redhat>
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 8
Server version: 5.0.77 source distribution
Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>
这样,就登录到了MySQL数据了。以上命令说明如下:
mysql -u root -p
MySQL数据库程序 指定用户 指定密码
二、 MySQL基本操作
上面,我们进行了数据库的初始配置。下面,我们将以一实例进行数据库的基本操作讲
解。在该实例中,我们将建立一个名为testdb的数据库,并在其下建立一个名为stuff的表,然后针对该数据库中的表进行相关操作与讲解。(注:MySQL中的命令是不区分大小写的。)
在建立新的数据库之前,我们先查看一下数据库,看看有哪些数据库存在,以免出现重名。
1. 查询数据库
查询数据库的具体命令如下:
show databases;
显示 数据库;
下面进行实际操作,在MySQL数据库提示符下:
mysql> show databases; //命令以“;”结束
+-------------------------------------+
| Database | //此处是数据库表头
+-------------------------------------+
| information_schema |
| mysql | //这里列出的是现存数据库信息
| test |
| vftpuser |
+-------------------------------------+
4 rows in set (0.46 sec) //这里显示的是统计信息,括号中是查询所花的时间
以上就是我们查询到的数据库,这些数据库是安装MySQL时,由MySQL程序建立的
默认数据库。
2. 建立数据库
在上面的操作中,我们发现并没有与我们要建立的数据库重名的数据库。下面,我们
将建立testdb数据库。建立数据库的命令是:
create database dbname;
创建 数据库 数据库名
下面,我们开始创建自己的数据库:
mysql> create database testdb;
Query OK, 1 row affected (0.06 sec)
下面,我们再次查询一下数据库,看是否创建成功:
mysql> show databases;
+-------------------------------------+
| Database |
+-------------------------------------+
| information_schema |
| mysql |
| test |
| vftpuser |
| testdb | //创建成功,此处是创建的数据库
+-------------------------------------+
5 rows in set (0.00 sec)
如果出现上面黑体部分的字样,那么你创建成功了,恭喜您,您可以进入下一步了。
3. 建立表
现在,我们开始建立我们所需的表:stuff。建立表与建立数据库的命令一样,不过参数
不同,具体如下:
create table tablename(indexes);
创建 表 表名(表项)
如果您已经明白上面的命令,那么就开始下面的实战操作吧。在创建表之前,首先得
转入对应的数据库进行操作。进入数据库的操作是:
use dbname;
使用 数据库名
下面,让我们快点开始吧!
mysql> use testdb; //这里,dbname是testdb
Database changed //如果见到该提示,说明你切换成功了
mysql> create table stuf(name char(20), age char(10));
Query OK, 0 rows affected (0.08 sec)
这样,属于我们的表就创建成功了。这里,indexes是创建的表的字段。不同的字段,
有不同的数据表示方法。MySQL中的数据有以下几种类型:
l 数字类型
数字数据类型包括以下类型:
u INT(INTEGER)整型数据
INT或INTEGER是一个通常大小的整型数据,其有符号的取值范围是-2147483648到2147483647。根据不同的取值范围,INT(INTEGER)整型数据又可分为以下几种:
TINYINT:取值范围有符号为-128-127,无符号为0-255。一个与之相同的数值类型为BIT。
SMALLINT:取值范围有符号为-32768-32767,无符号为0-65535。
MEDIUMINT:取值范围有符号为-8388608-8388607,无符号为0-16777215。
BIGINT:取值范围有符号为-9223372036854775808-9223372036854775807,无符号为0-18446744073709551615。
u FLOAT浮点型
FLOAT为浮点型数值,其取值范围为3.402823466E+38到-1.175494351E-38,0以及从1.175494351E-38到3.402823466E+38。
u DOUBLE双精度型
通常大小的浮点数,取值范围为1.7976931348623157E+308到-2.2250738585072014E-308,0及2.2250738585072014E-308到1.7976931348623157E+308。
u DECIMAL十进制
为十进制数值,最大数据位数是64。
u BOOLEAN布尔值
BOOL或BOOLEAN,0为伪值,非0为布尔值。
l 日期和时间类型
日期和时间类型主要分为以下几种:
DATE:日期,范围为
TIME:时间,范围为838:59:59到838:59:59,显示格式为HH:MM:SS。
DATETIME:日期时间合并,范围为
TIMESTAMP:时间戳,范围为
YEAR:年,显示格式为2位或4位,4位数范围为1901-2155,2位数范围为70-69,表示从1970-2069。
l 字符串(字母)类型
字符串值根据字符串类型和长度,可以分为以下几种:
CHAR():定长字符串,取值范围为0-255个字符。保存字符串时,指定长度的剩余部分用空格填充。而读取时,填充的空格会被删除。
VARCHAR():变长字符串,取值范围为0-255个字符。存储值时,剩余部分不会被填充。
TINYTEXT,TINYBLOB:最大长度为255个字符。
TEXT:作为字母字符处理(非二进制字符串),取值范围为65535个字符。
BLOB:指Binary Large Object(二进制大型对象),用于存储大量数据。该列作为字节字符串(二进制字符串)处理,最大可包含65535个字符。
MEDIUMTEXT,MEDIUMBLOB:长度为167772165个字符。
LONGTEXT,LONGBLOB:长度为4294967295个字符。
BINARY:二进制定长字符串,将字符串以二进制形式存储。
VARBINARY:变长二进制字符串。
ENUM():每个列允许选择一个给定的值,最大取值范围为65535。
SET():可选值列表,每一列都可能会赋值可选值中的一个。最多包含64个列表项目,并且可以赋多个值,这些值以整型形式存储。
4. 显示表
下面,我们可以查询一下我们创建的表。还记得怎样查询数据库的吗?对了,使用“show databases;”。很好,在查询表中,我们也将用到该命令,只是把databases改成tables而已。命令如下:
show tables;
显示 表
明白了吗?那快点来试试吧。
mysql> show tables;
+--------------------+
| Tables_in_testdb | //这里说明是testdb数据库中的表
+--------------------+
| stuf | //这里就是我们创建的表了
+--------------------+
1 row in set (0.00 sec)
上面是我们要的表吗?咦,好像不对啊。表名应该是stuff啊,这里错了。怎么办呢?别急,让我们来修改一下。
5. 重命名表
在上面的操作中,我们发现,我们建立了一个错误的表。在这里,我们需要将它修改
成我们所需要的,MySQL为我们提供了重命名表的功能。
rename table tablename to tablename;
重命名 表 原始表名 为 新表名
下面,让我们来将错误的表名修改为我们所需要的表名吧。
Mysql> rename table stuf to stuff;
Query OK, 0 rows affected (0.02 sec)
下面,再次显示一下该数据库中的表,看是否已经修改正确。
mysql> show tables;
+--------------------+
| Tables_in_testdb |
+--------------------+
| stuff |
+--------------------+
1 row in set (0.00 sec)
修改成功!
6. 描述表
上面,我们新建了表,并对错误的表名进行了修正,也学会了如何查看表。但是,我
们发现,我们所查询到的表只是一个表名,具体的内容我们一点都不知道。那么,在这一节中,我们将学习如何查看到表的结构。命令如下:
desc tablename;
描述 表名
这里,desc是description的缩写形式。
mysql> desc stuff;
+---------------------------------------------------------+
| Field | Type | Null | Key | Default | Extra |
+---------------------------------------------------------+
| name | char(20) | Yes | | NULL | |
| age | char(10) | Yes | | NULL | |
+----------------------------------------------------------+
2 rows in set (0.03 sec)
从上面的表描述中,我们可以看出,我们建立的表有两个字段,字段类型都是char,允许设置为空值,默认没有为这两个字段设置值。
下面,我们将在该表中插入一些相关的表项。
7. 插入表项
插入表项的命令为:
insert into tablename values(values);
插入 到 表名 值(表项值)
下面,我们为stuff表插入两个表项:joe 30和david 28。
mysql> insert into stuff values(“joe”, 30);
Query OK, 1 row affected (0.12 sec)
mysql> insert into stuff values(“david”, 28);
Query OK, 1 row affected (0.00 sec)
这里,我们使用了两条命令来插入两个表项。我们也可以通过一条命令来插入多个表
项:
insert into tablename(indexes) values(values);
插入 到 表名(索引) 值(表项值)
mysql> insert into stuff(name, age)
-> values(“joe”, 30),
-> (“david”, 28);
Query OK, 2 rows affected (0.05 sec)
Records: 2 Duplicates: 0 Warnings: 0
从上面命令的提示看,我们已经插入成功。那么,我们怎样才能查询到这些内容呢?
如果使用前面的show tables命令,你会发现,你只能查询到表名,里面的内容根本看不见。那么,要查询到内容,又该怎么办呢?
联系客服