我用的是环境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. cocos2d-x 3.0 使用Sax解析xml文件(中国显示器问题解决)

    今天是个好日子.我以为事情可以变得,明天是个好日子.打开门儿春风... 恩,听着歌写文档生活就是这么享受. 今天曾经的邻居大神突然在qq上赞了我一下,这让我异常激动啊.. 这还要从前前前几天说起,那会 ...

  2. win7下怎样设置putty免用户名密码登陆

    putty是一款好用的远程登录linux服务器软件,但每次输入用户名密码毕竟有些烦人,这里教你免用户名密码登陆.   工具/原料 putty 方法/步骤   去百度下载putty,小巧易用,仅有0.5 ...

  3. VCL改变主窗体的方法

    使用如下语句即可Pointer((@Application.MainForm)^) := Form1; 仔细想想和Pointer((Application.MainForm)) := Form1;有什 ...

  4. hdu 3221 Brute-force Algorithm(高速幂取模,矩阵高速幂求fib)

    http://acm.hdu.edu.cn/showproblem.php?pid=3221 一晚上搞出来这么一道题..Mark. 给出这么一个程序.问funny函数调用了多少次. 我们定义数组为所求 ...

  5. 【BASH】自己主动清理rman脚本备份文件

    ************************************************************************ ****原文:blog.csdn.net/clark_ ...

  6. The tempfile module

    The tempfile module The tempfile module This module allows you to quickly come up with unique names ...

  7. poj 1220 NUMBER BASE CONVERSION(短除法进制转换)

    题目连接:1220 NUMBER BASE CONVERSION 题目大意:给出两个进制oldBase 和newBase, 以及以oldBase进制存在的数.要求将这个oldBase进制的数转换成ne ...

  8. WebService的相关使用

    近期公司项目使用WebService ,这里简单做个总结. 事实上详细使用细节有些情况下须要改,还须要看实际情况,须要与server联调,详细沟通. 比方公司连接,非要把envelope.dotNet ...

  9. Apache配置虚拟文件夹

    作为一个Android开发人员,一直以为,至少应该有一个server语言,最近慢慢学习php,当然学习Apache使用.本文介绍Win7环境下,怎样配置Apache的虚拟文件夹. 首先,找到我们Apa ...

  10. 《深入理解OSGi:Equinox原理、应用与最佳实践》笔记_1_运行最简单的bundlehelloworld

    <深入理解OSGi:Equinox原理.应用与最佳实践>笔记_1_运行最简单的bundlehelloworld 买了周大大的OSGI的书看 先前完全没有基础 就靠这本书看看学学 顺便记一些 ...