我使用的环境是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开放源码包的设置让安装和使用出奇容易。我下载的版本是: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 -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面板启动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=InnoDB DEFAULT 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 PRIM
ARY KEY(id);

整个操作过程如下图所示:

在修改email_list表结构的过程中,可以使用DESCRIBE命令随时查看email_list表的结构,看是不是按照自己的意图修改了,以便进行下一步操作。



MySQL数据库学习初步的更多相关文章

  1. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  2. MySQL数据库学习笔记(十)----JDBC事务处理、封装JDBC工具类

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  4. Mysql数据库学习笔记之数据库索引(index)

    什么是索引: SQL索引有两种,聚集索引和非聚集索引,索引主要目的是提高了SQL Server系统的性能,加快数据的查询速度与减少系统的响应时间. 聚集索引:该索引中键值的逻辑顺序决定了表中相应行的物 ...

  5. MySQL数据库学习: 01 —— 数据库的概述

    壹 概述 一 了解SQL 1.1 数据库基础 1.1.1 什么是数据库 数据库(database)保存有组织的数据的容器(通常是一个文件或一组文件). 易混淆:人们常常用“数据库”这个词语来代表他们使 ...

  6. MYSQL数据库学习笔记1

      MYSQL数据库学习笔记1 数据库概念 关系数据库 常见数据库软件 SQL SQL的概念 SQL语言分类 数据库操作 创建数据库 查看数据库的定义 删除数据库 修改数据库 创建表 数据类型 约束 ...

  7. mysql数据库学习目录

    前面的话 对于前端工程师来说,数据库并不是主要技能点,但是基本的增删改查操作还是需要了解的.小火柴将mysql数据库的学习记录整理如下 目录  前端学数据库之基础操作 前端学数据库之数据类型 前端学数 ...

  8. mysql数据库学习(一)--基础

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

  9. MySQL数据库学习笔记<一>

    MySQL基本概念以及简单操作   一.MySQL   MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系 ...

随机推荐

  1. Cocos2d-x之Action

    |   版权声明:本文为博主原创文章,未经博主允许不得转载. 在Cocos2d-x中的Node对象可以有动作,特效和动画等动态特性.因此在Node类中定义了这些动态特性,因此精灵,标签,菜单,地图和粒 ...

  2. 系统安装2---BIOS设置

    对于新的电脑通过U盘安装Windows系统,我们第一步绝对是修改BIOS设置.在这里面我们要修改几项比较重要的选项.如下介绍: 修改第一启动项:目的就是让电脑的第一启动项变为U盘启动. 调节引导方式: ...

  3. python-javascript之bom

    BOM BOM介绍 全称 Browser Object Mode 浏览器对象模式 操作浏览器的API接口.比如浏览器自动滚动 Windows对象的顶层部分是BOM的顶层(核心)对象,所有的对象都是通过 ...

  4. Ubuntu安装程序提示无法获得锁

    目录 1.问题描述 2.问题原因 3.解决方案 3.1方法一:杀掉apt-get进程 3.2方法二:强制解锁 1.问题描述 E: 无法获得锁 /var/lib/dpkg/lock-frontend - ...

  5. SQL语句优化方式

    不要使用*号进行查询操作,使用具体字段. 索引 在where子句和order by 涉及的字段上合理的添加索引. where 子句优化 避免在where子句中对null值进行判断,应对字段设置默认值 ...

  6. 公司redis

    一: redis cluster介绍篇 1:redis cluster的现状 目前redis支持的cluster特性(已亲测): 1):节点自动发现 2):slave->master 选举,集群 ...

  7. Springboot1.5.9整合WebSocket

    一.WebSocket介绍 1.WebSocket是什么? WebSocket是协议,是HTML5开始提供的基于TCP(传输层)的一种新的网络协议, 它实现了浏览器与服务器全双工(full-duple ...

  8. Python 第三天学习整理①

    今天学习的内容包括以下几个方面:1.字符编码 2.文件操作 3.函数 1.字符编码 关于字符编码,关注以下几个点 1.1 什么是字符编码 字符编码:字符转化为数字的过程所遵循的标准 字符编码包括:un ...

  9. solaris系统动态查看swap的使用情况

    root@tt # root@tt # prstat  -aPlease wait... PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU ...

  10. 【串线篇】MyBatis简介

    一.MyBatis 和数据库进行交互:持久化层框架(SQL映射框架): 1).纯手工 从原始的JDBC----dbutils(QueryRunner)-------JdbcTemplate----xx ...