MySQL 入门

MySQL是一个常用的关系型数据库管理系统,特点是体积小、速度快、而且社区版免费开源,所以在中小型网站中被大量使用。甚至形成了形成了免费的LAMP(linux、Apache/Nginx、MySQL、PHP/Python/Perl)组合。

对于一个数据库的初学者来讲,MySQL绝对是一个好的学习环境。关系型数据库的相关的知识,在这里几乎都能接触到,而且性能还很好,使用安装也都很友好简单,我们就来简单介绍一下。

MySQL

安装

以Ubuntu 为例,安装很简单,输入以下命令就可以,期间需要输入MySQL的root密码:

1
2
$ sudo apt-get update
$ sudo apt-get install mysql-server

安装成功之后我们就可以连接一下数据库来看看,命令中-u表示登陆的用户名,-p表示对应的用户密码。

1
$ mysql -u root -p

输入密码后,就会进入MySQL数据库的,我们可以看看它的状态,里面有现在的版本,当前的用户、数据库的字符集等等,如图。

1
mysql> status;

MySQL

如果你想退回到操作系统的话,也很简单:

1
mysql> exit  #或者quit都行。

设置

很多时候我们在服务器端使用MySQL的时候需要设置MySQL的自启动,这个在Ubuntu下很简单:

1
$ update-rc.d mysql defaults

设置完了,可以重启动一下主机试试看。

同样的移除这个自启动设置也很简单。

1
$ update-rc.d mysql remove

另外MySQL的主要配置信息在/etc/mysql/my.cnf文件中,可以根据自己的情况进行设置例如数据存储目录、端口信息、最大连接数、日志大小等等。

MySQL

使用

  • MySQL的启动、停止、重启推荐有两种方式:
    1
    2
    3
    $ sudo /etc/init.d/mysql start
    $ sudo /etc/init.d/mysql stop
    $ sudo /etc/init.d/mysql restart

或者

1
2
3
$ service mysql start
$ service mysql stop
$ service mysql restart

  • 进入MySQL后,可以先来了解一下目前有哪些数据库,用如下命令,就可以查看当前的数据库。

    1
    2
    $ mysql -u root -p
    mysql> show databases;
  • 数据的切换使用use命令,我们可以切换到默认的mysql数据库看看。

    1
    mysql> use mysql;
  • 看看现在库里面有哪些表。

    1
    mysql> show tables;

MySQL

  • 创建一个数据库。

    1
    2
    mysql> create database test;
    mysql> show databases;
  • 在test数据库中建一个表,看看结果。

    1
    2
    3
    4
    mysql> use test;
    mysql> show tables;
    mysql> create table student (studentid int auto_increment primary key, name varchar(20),age int);
    mysql> show tables;

MySQL

  • 接着再对student表做一下,增删改查的操作。
    1
    2
    3
    4
    5
    6
    7
    8
    mysql> insert into student values('Trump',70);
    mysql> insert into student values('Hillary',69);
    mysql> insert into student values('Obama',55);
    mysql> select * from student;
    mysql> update student set name='Donald Trump' where studentid=1;
    mysql> select * from student;
    mysql> delete from student where name='Obama';
    mysql> select * from student;
    MySQL

程序中如何连接

我们看一个nodejs下的链接示例,当然前提是安装了node和node-mysql,在Ubuntu下用vi写一个简单的js脚本,文件命名为testmysql.js,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
var sys = require('sys');

var client = mysql.createConnection({
user: 'username',
password: 'password',
});

client.connect(function(error, results) {
if(error) {
console.log('Connection Error: ' + error.message);
return;
}
console.log('Connected to MySQL');

执行node命令,结果如下:

1
$ node testmysql.js

MySQL

程序中如何操作数据库

我们还是在testmysql.js的基础上做些修改,做一个简单的查询,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var sys = require('sys');

var client = mysql.createConnection({
user: 'username',
password: 'password',
});

client.connect(function(error, results) {
if(error) {
console.log('Connection Error: ' + error.message);
return;
}
console.log('Connected to MySQL');
});

client.query("use test");
client.query('select * from student',
function selectCb(error, results, fields){
if (error) { throw error;}
if(results){
for(var i = 0; i < results.length; i++){
console.log("%d\t%s\t%s", results[i].id, results[i].name, results[i].age);
}
}
client.end();
}
);

执行node命令,结果如下:

1
$ node testmysql.js

MySQL

这样就可以用mysql做些简单的工作了,更多更深入的学习可以来这里:

http://www.hubwiz.com/course/?type=MySQL