前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL数据库学习初步

MySQL数据库学习初步

作者头像
ccf19881030
发布2019-04-24 14:27:36
1.6K0
发布2019-04-24 14:27:36
举报

   我使用的环境是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表的结构,看是不是按照自己的意图修改了,以便进行下一步操作。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2014年06月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档