我用的是环境Win7。开始学习PHP和MySQL,而买了这《Head First PHP & MySQL》,从能Head First Labs官网获得HeadFirst系列书籍的相关信息和源码。

1、下载XAMPP开发包

XAMPP中文官网下载眼下比較流行的PHP开发包,XAMPP是全然免费且易于安装的Apache发行版,当中包括MySQL、PHP和Perl。XAMPP适用于Windows、Mac
OS X和Linux,XAMPP开放源代码包的设置让安装和使用出奇easy。我下载的版本号是: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的Startbutton启动Apache、MySQL,然后单击最右側的shellbutton,例如以下图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2NmMTk4ODEwMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

在弹出的MySQL shell窗体输入例如以下的MySQL命令连接到root账户

mysql -uroot -p

例如以下图:

然后就能够正常使用MySQL数据库了。

以下是我使用的MySQL数据库的过程:

Setting environment for using XAMPP for Windows.
Administrator@CCF-PC d:\programs\xampp
# mysql -uroot -p
Enter password: ********
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 17
Server 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 its
affiliates. Other names may be trademarks of their respective
owners. 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_store
Database changed
mysql> 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: 13 Duplicates: 0 Warnings: 0 mysql> 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 PRIM
ARY KEY(id);
Query OK, 0 rows affected (1.64 sec)
Records: 0 Duplicates: 0 Warnings: 0 mysql> 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面板启动Apacheserver和MySQL之后,登录浏览器键入http://localhost,改动安全设置如MySQLpassword后,打开Tools下的phpMyAdmin链接。输入账号和password进入phpMyAdmin管理界面例如以下图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2NmMTk4ODEwMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

然后进行数据库和表的操作时,此时有两种方式,一种是通过SQL栏採用类似命令行的方式编写SQL脚本,第二种是採用非常easy的手动操作创建数据库和表,改动数据库表等方式。

3、MySQL命令小结

对学习到的MySQL命令做下总结吧

(1)MySQL命令连接到server

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=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=14 ;

注意:上面的符号是键盘上的~相应的重音符号`,而不是单引號'

(5)显示数据库elvis_store中的全部表

使用SHOW TABLES;命令

从上图能够看出elvis_store数据库中有了一个名为email_lsit的表。

(6)显示表email_list结构

使用DESCRIBE TABLE_NAME命令,例如以下图:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2NmMTk4ODEwMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

(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 PRIM
ARY KEY(id);

整个操作步骤例如以下图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvY2NmMTk4ODEwMzA=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast">

在改动email_list表结构的过程中,能够使用DESCRIBE命令随时查看email_list表中的结构。看是不是按照他们的意图的变化,因此,下一步。



MySQL初步研究数据库的更多相关文章

  1. mysql中间件研究(Atlas,cobar,TDDL)

    mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差.下面介绍几款能代替其的mysql开源中间件产品,Atlas ...

  2. mysql中间件研究(Atlas,cobar,TDDL)[转载]

    mysql中间件研究(Atlas,cobar,TDDL) mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差. ...

  3. MySql初步II

    [MySql初步II] 1.Order By 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列. 默认情况下,它是按升排列. 实例: 2.Join语法 Join不是一个关键字 ...

  4. mySQL (关系型数据库管理系统)

    MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...

  5. mysql中间件研究(tddl atlas cobar sharding-jdbc)

    mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差.下面介绍几款能代替其的mysql开源中间件产品,Atlas ...

  6. MySQL 8 升级数据库

    开始升级前 因为从MySQL 8.0 到MySQL 5.7,或者从MySQL 8.0 到之前的 MySQL 8.0版本都是不支持的.所有在在升级前要做好数据库备份,包括mysql 系统schema(数 ...

  7. 实验十--- MySQL过程式数据库对象

    实验十 MySQL过程式数据库对象 一.  实验内容: 1. 存储过程的创建和调用 2. 存储函数的创建和调用 3. 触发器的创建和触发 4. 事件的创建和修改 一.  实验项目:员工管理数据库 用于 ...

  8. Redis/Mysql/SQLite/MongoDB 数据库对比

    一.Redis: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...

  9. MySQL+Amoeba实现数据库主从复制和读写分离

    MySQL读写分离是在主从复制的基础上进一步通过在master上执行写操作,在slave上执行读操作来实现的.通过主从复制,master上的数据改动能够同步到slave上,从而保持了数据的一致性.实现 ...

随机推荐

  1. php 写session

    function do_login(){ //获取用户名和密码信息,和数据库中比对 echo 111111111; dump($_POST); dump($_SESSION); echo 222222 ...

  2. Windows调试工具入门—1

    NetRoc http://www.DbgTech.net 引子 Debugging Tools for Windows是微软发布的一套用于软件调试的工具包(后面如果没有指明,那么我会使用WinDbg ...

  3. linux-sfdisk 使用方法

    功能说明:硬盘分区工具程序. 语 法:sfdisk [-?Tvx][-d <硬盘>][-g <硬盘>][-l <硬盘>][-s <分区>][-V < ...

  4. Facial Landmark Detection

    源地址:http://www.learnopencv.com/facial-landmark-detection/#comment-2471797375 OCTOBER 18, 2015 BY SAT ...

  5. Lambda高手之路第三部分

    转http://www.cnblogs.com/lazycoding/archive/2013/01/06/2847587.html 背后的秘密-MSIL 通过著名的LINQPad,我们可以更深入的查 ...

  6. Eclipse Tips

    一.取消拼写检查 Window -> Preferences -> General -> Editors -> Text Editors -> Spelling -> ...

  7. [Android阅读代码]圆形旋转菜单CircleMenu

    项目名称:圆形旋转菜单CircleMenu 原版项目代码下载 感谢原作者开源

  8. dvtm: 平铺式终端管理器 — LinuxTOY

    dvtm: 平铺式终端管理器 — LinuxTOY LinuxTOY 是一个致力于提供 Linux 相关资讯的专题站点.如果您发现了好用好玩的 Linux 东东并愿意发扬自由.分享的精神,可以点击顶部 ...

  9. a++为啥不能用作左值

    原地址:http://wy892648414.blog.163.com/blog/static/212212135201378496591/ 1)首先说左值和右值的定义: 变量和文字常量都有存储区,并 ...

  10. MyCAT部署及实现读写分离(转)

    MyCAT是mysql中间件,前身是阿里大名鼎鼎的Cobar,Cobar在开源了一段时间后,不了了之.于是MyCAT扛起了这面大旗,在大数据时代,其重要性愈发彰显.这篇文章主要是MyCAT的入门部署. ...