Linux下对MYSQL数据库的操作一
首先在ubuntu/debian上安装下列软件包:mysql-client-5.0 mysql-server-5.0
在Redhat上安装下列软件包:mysql-3.23.54a-11.i386.rpm mysql-server-3.23.54a-11.i386.rpm
和mysql-devel-3.23.54a-11.i386.rmp (可以装上更高的版本,本文在ubuntu下试验)
1、在终端运行:mysql_install_db (这一步好像可以不要)
/*启动mysqld服务器并且建立初始MySQL授权表,包含决定用户如何被允许连接服务器的权限*/
2、启动数据库
方法一:终端运行:sudo mymysqld_safe & //启动mysql数据库
方法二:终端运行:sudo /etc/init.d/mysql start
3、检查MYSQL是否被启动
方法一:终端运行:pstree | grep mysqld
出现如下结果则表明已经启动:
| -mysqld_safe-+-logger
| `-mysqld---9*[{mysqld}]
方法二:终端运行:sudo /etc/init.d/mysql status
出现如下结果则表明已经启动:(不同的系统版本略有差异)
* /usr/bin/mysqladmin Ver 8.41 Distrib 5.0.24a, for pc-linux-gnu on i486
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license
Server version 5.0.24a-Debian_9-log
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 1 min 23 sec
Threads: 1 Questions: 147 Slow queries: 0 Opens: 98 Flush tables: 1 Open tables: 14 Queries per second avg: 1.771
另:如想开机后自动启动,可下载一个sysvconfig命令:sudo apt-get install sysvconfig (Redhat里有这个命令可用:ntsysv) 然后在终端运行:sudo sysvconfig 在menu中进入Enable/Disable,将mysql选中保存即可。
4、关闭MYSQL数据库
方法一、sudo /etc/init.d/mysql stop
方法二、sudo mysqladmin shutdown
5、进入数据库
终端运行:mysql -u root -p //进入密码为空,mysql第一次默认root用户密码为空,敲回车即可
6、创建数据库
mysql> create database test; //创建test数据库
输出结果:Query OK, 1 row affected (0.00 sec)
mysql> show databases; //显示所有的数据库
输出结果:
+-----------------------------+
| Database |
+------------------------------+
| information_schema |
| bear |
| mysql |
| test |
+------------------------------+
4 rows in set (0.00 sec)
7、删除数据库
mysql> drop database test; //删除test数据库
输出结果:
Query OK, 0 rows affected (0.00 sec)
mysql> show databases; //显示所有的数据库
输出结果:
+---------------------------------------+
| Database |
+---------------------------------------+
| information_schema |
| bear |
| mysql |
+---------------------------------------+
3 rows in set (0.01 sec)
8、创建表
mysql> create database test; //创建test数据库
mysql> use test; //进入到test数据库中
mysql> show tables ; //查看所有的表
输出显示结果:Empty set (0.00 sec)
mysql> create table people( //创建一个表名为people的表,四列分别是:
-> people_id char(6) primary key, //people_id 为主键
-> name char(10), //name
-> sex char(2), //sex
-> birthday date); //birthday
输出结果:
Query OK, 0 rows affected (0.02 sec)
mysql> show tables ; //显示所有的表
输出结果:
+----------------------+
| Tables_in_test |
+----------------------+
| people |
+----------------------+
1 row in set (0.00 sec)
9、删除表
/* 这一步可到最后做,因为下面还要用到表people */
mysql> drop table people; //删除表格
mysql> show tables ; //显示所有的表
10、查看表结构
mysql> use test; //进入要查看表结构的数据库
mysql> describe people; //查看表结构
显示结果:
+--------+-------+-------------+---------+--------+-----------+-----------+
| Field | Type | Null | Key | Default | Extra |
+--------+-------+-------------+--- -----+--------+-----------+-----------+
| people_id | char(6) | NO | PRI | | |
| name | char(10) | YES | | NULL | |
| sex | char(2) | YES | | NULL | |
| birthday | date | YES | | NULL | |
+--------+-------+------------+----------+--------+-----------+-----------+
4 rows in set (0.00 sec)
11、向表中添加和查看数据
mysql> use test; //进入test数据库
mysql> insert into people values //向people表中添加两组数据
-> ('200701','熊锋','m','1983/04/23');
mysql> insert into people values
->('200702','郑玲','w','1986-08-18');
mysql> select * from people; //查看people表中的数据
显示结果:
+-----------+--------+------+------------+------------+-----------------+
| people_id | name | sex | birthday |
+-----------+--------+------+------------+------------+-----------------+
| 200701 | 熊锋 | m | 1983-04-23 |
| 200702 | 郑玲 | w | 1986-08-18 |
+-----------+--------+------+------------+------------+---------------+
2 rows in set (0.00 sec)
mysql> select * from people where people_id='200701';
//查看people表中主键值为200701的数据
显示结果:
+-----------+--------+------+---------+
| people_id | name | sex | birthday |
+-----------+--------+------+---------+
| 200701 | 熊锋 | m | 1983-04-23 |
+-----------+--------+------+---------+
1 row in set (0.00 sec)
12、修改表结构
mysql> alter table people add score int(3) not null;
显示结果:
Query OK, 2 rows affected (0.01 sec)
Records: 2 Duplicates: 0 Warnings: 0
mysql> describe people; //显示表结构
显示结果:
+--------+-------+----+----+------+----+
| Field | Type | Null | Key | Default | Extra |
+--------+-------+----+---+-------+----+
| people_id | char(6) | NO | PRI | | |
| name | char(10) | YES | | NULL | |
| sex | char(2) | YES | | NULL | |
| birthday | date | YES | | NULL | |
| core | int(11) | YES | | NULL | |
| score | int(3) | NO | | | |
+--------+-------+----+--+--------+----+
6 rows in set (0.00 sec)
注:MYSQL中的数据类型
Data Type Default Value
char/varchar/binary ""
date 0000-00-00
time 00:00:00
datetime 0000-00-00 00:00:00
timestamp 2005-06-21 12:01:00(now()!)
year 0000
enum('a','b','c') 'a'
set('a','b','c') ()(empty set)
Linux下对MYSQL数据库的操作待续......
--
/**************************************/
Name: Xiong Feng
E-mail:linux0818@gmail.com
MSN:linux0818@hotmail.com
QQ:23562033
Address: GuangZhou.China
/**************************************/
没有评论:
发表评论