MySQL数据库学习初步_MySQL
1、下载XAMPP开发包
从XAMPP中文官网 下载目前比较流行的PHP开发包,XAMPP是完全免费且易于安装的Apache发行版,其中包含MySQL、PHP和Perl。XAMPP适用于Windows、Mac OS X和Linux,XAMPP开放源码包的设置让安装和使用出奇容易。我下载的版本是: xampp-win32-1.8.3-4-VC11-installer.exe
2、开始学习MySQL
有一定的SQL基础后,比如我在以前学校的学习的是Microsoft SQLSever,大部分的SQL基础语句都学过实践过,所以学习MySQL就很顺畅了,毕竟除了特别的不同之处意外基本的概念是一致的。不过相比较其他关系型数据库如Oracle、SQLServer,MySQL算是比较轻量级的数据库引擎了。
学习MySQL最好的方式就是从官网下载 MySQL 5.7 Reference Manual ,就是英文的最新版MySQL 5.7参考手册,目前我还没找到中文版。另外遇到不会的MySQL问题Google也是不错的学习方式。
学习MySQL的2种方式:
(1)MySQL命令行终端
安装好XAMPP安装包后(当然也可以单独下载安装MySQL安装包),有一个XAMPP Control Panel面板,打开后单击Apace、MySQL的Start按钮启动Apache、MySQL,然后单击最右侧的shell按钮,如下图所示:
在弹出的MySQL shell窗口输入如下的MySQL命令连接到root账户
mysql -uroot -p
如下图:
然后就可以正常使用MySQL数据库了。
下面是我使用的MySQL数据库的过程:
Setting environment for using XAMPP for Windows.Administrator@CCF-PC d:/programs/xampp# mysql -uroot -pEnter password: ********Welcome to the MySQL monitor.Commands end with ; or /g.Your MySQL connection id is 17Server version: 5.6.16 MySQL Community Server (GPL)Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.Oracle is a registered trademark of Oracle Corporation and/or itsaffiliates. Other names may be trademarks of their respectiveowners.Type 'help;' or '/h' for help. Type '/c' to clear the current input statement.mysql> SHOW DATABASES;+--------------------+| Database |+--------------------+| information_schema || 中国 || aliendb|| cdcol|| elvis_store|| finanace_project2|| malan_lecture|| mysql|| performance_schema || php_test || phpmyadmin || testdemo || webauth|+--------------------+13 rows in set (0.02 sec)mysql> USE elvis_storeDatabase changedmysql> SHOW TABLES;+-----------------------+| Tables_in_elvis_store |+-----------------------+| email_list|+-----------------------+1 row in set (0.00 sec)mysql> DESCRIBE email_list;+------------+-------------+------+-----+---------+-------+| Field| Type| Null | Key | Default | Extra |+------------+-------------+------+-----+---------+-------+| first_name | varchar(20) | NO | PRI | | || last_name| varchar(20) | NO | PRI | | || email| varchar(60) | NO | | NULL| |+------------+-------------+------+-----+---------+-------+3 rows in set (0.02 sec)mysql> ALTER TABLE email_list DROP PRIMARY KEY;Query OK, 13 rows affected (3.51 sec)Records: 13Duplicates: 0Warnings: 0mysql> DESCRIBE email_list;+------------+-------------+------+-----+---------+-------+| Field| Type| Null | Key | Default | Extra |+------------+-------------+------+-----+---------+-------+| first_name | varchar(20) | NO | | | || last_name| varchar(20) | NO | | | || email| varchar(60) | NO | | NULL| |+------------+-------------+------+-----+---------+-------+3 rows in set (0.03 sec)mysql> ALTER TABLE email_list ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY(id);Query OK, 0 rows affected (1.64 sec)Records: 0Duplicates: 0Warnings: 0mysql> DESCRIBE email_list;+------------+-------------+------+-----+---------+----------------+| Field| Type| Null | Key | Default | Extra|+------------+-------------+------+-----+---------+----------------+| id | int(11) | NO | PRI | NULL| auto_increment || first_name | varchar(20) | NO | | ||| last_name| varchar(20) | NO | | ||| email| varchar(60) | NO | | NULL||+------------+-------------+------+-----+---------+----------------+4 rows in set (0.01 sec)mysql>
(2)使用phpMyAdmin等命令行界面
phpMyAdmin是一个使用PHP编写的、基于Web的MySQL管理工具,可以通过互联网控制和操作MySQL。
安装好XAMPP并且在XAMPP Control Panel面板启动Apache服务器和MySQL之后,登录浏览器键入 http://localhost ,修改安全设置如MySQL密码后,打开Tools下的phpMyAdmin链接,输入账号和密码进入phpMyAdmin管理界面如下图所示:
然后进行数据库和表的操作时,此时有两种方式,一种是通过SQL栏采用类似命令行的方式编写SQL脚本,另外一种是采用很简单的手动操作创建数据库和表,修改数据库表等方式。
3、MySQL命令小结
对学习到的MySQL命令做下总结吧
(1)MySQL命令连接到服务器
mysql -uroot -p
(2)创建、删除、显示数据库
CREATE DATABASE elvis_store;
DROP DATABASE elvis_store;
SHOW DATABASES;
(3)选择某个数据库
比如我现在数据库里面有一个名为elvis_store的数据库,现在在操作里面的表时需要选择它,可以采用如下命令:
USE elvis_store;
(4)使用CREATE TABLE_NAME命令创建一个名为email_list的表,SQL脚本如下:
CREATE TABLE IF NOT EXISTS `email_list` (`first_name` varchar(20) NOT NULL DEFAULT '',`last_name` varchar(20) NOT NULL DEFAULT '',`email` varchar(60) NOT NULL,PRIMARY KEY (`first_name`, `last_name`)) ENGINE=InnoDBDEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;
注意:上面的符号是键盘上的~对应的重音符号`,而不是单引号'
(5)显示数据库elvis_store中的所有表
使用SHOW TABLES;命令
从上图可以看出elvis_store数据库中有了一个名为email_lsit的表。
(6)显示表email_list结构
使用DESCRIBE TABLE_NAME命令,如下图:
(7)删除、新建主键
假如我现在有遮掩一个需求,需要删除email_list表中的联合主键(first_name,last_name),需要添加一个id字段并且将其设置为主键,可以按照下面的SQL脚本操作:
ALTER TABLE email_list DROP PRIMARY KEY;ALTER TABLE email_list ADD id INT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY(id);
整个操作过程如下图所示:
在修改email_list表结构的过程中,可以使用DESCRIBE命令随时查看email_list表的结构,看是不是按照自己的意图修改了,以便进行下一步操作。