MySQL数据库学习初步
我使用的环境是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: 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 PRIM
ARY KEY(id);
Query OK, 0 rows affected (1.64 sec)
Records: 0 Duplicates: 0 Warnings: 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=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数据库学习初步相关推荐
- MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- linux数据库创建score表,MySQL数据库学习笔记
MySQL数据库学习笔记phpma (实验环境:Redhat9.0,MySQL3.23.54) 纲要: 一,连接MySQL phpma 二,MySQL管理与授权 三,数据库简单操作 四, 数据库备份 ...
- mysql 数据库学习(触发器)
引用:http://bbs.mysql.cn/thread-9135-1-2.html 引用:21. 触发程序 create table a (sa int); create table b (sb ...
- MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- MySQL数据库学习导航
MySQL数据库学习导航 MySQL数据库基础知识 MySQL数据库备份 MySQL数据在线备份 MySQL数据库基础知识 MySQL数据库介绍 MySQL体系结构 MySQL语句 - sql语句 M ...
- MySQL 数据库学习(一)
MySQL 数据库学习 数据库 1. 数据库的介绍 2. 数据库的分类 3. 数据库的作用 4. 数据库的特点 5. 小结 MySQL数据库 1. MySQL数据库的介绍 2. MySQL数据库的安装 ...
- 研一寒假MySQL数据库学习笔记(三)
研一寒假MySQL数据库学习笔记(三) 本节记录数据库高级查询部分的内容,整理于此便于之后回顾. 1. 上一节补充内容 1.1 案例练习 现在有一个员工表.部门表,两张表之间是一个部门多个员工,一个员 ...
- MySQL数据库学习日志(六):索引和视图
MySQL数据库学习日志(六):索引和视图 MySQL数据库学习日志(六):索引和视图 索引 (一)索引概述 (二)优缺点 (三)分类 1. 按照底层实现的方式 2. 按照功能划分 普通索引 唯一索引 ...
- mysql数据库学习(一)--基础
一.简介 MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 R ...
最新文章
- CSS元素的基本应用(附加京东面试题)
- 《Python数据分析与挖掘实战》读书笔记
- linux /etc/fstab 挂载列表 简介
- jvm性能调优实战 -56没有WHERE条件的SQL语句引发的OOM MAT 排查步骤
- python求解方程组_python如何解方程组
- 电脑技巧:C盘爆满该如何清理,实用的清理方案,小白必备
- GIS实战应用案例100篇(三)-基于NDVI指数的绿地信息提取
- Linux:十条为系统管理员节省时间的命令
- Scala学习笔记02:数据类型、常量与变量
- 机器学习系列——随机森林(五)
- C语言之抽象数据类型(四十七)
- 读书笔记之文件和注册表操作
- 学子商城代码2(项目 第十六阶段)
- 女黑客登场:轻松破解APP,共享单车任我骑!
- 广州华龙展贸考场——科目三
- 一、Scrapy爬虫概述
- Scrapy爬取二手房信息
- 论文模型构建的步骤_最全面的财会核心期刊论文写作技巧,核心期刊审稿人带你详解财会论文写作路数...
- 第二周教学课件及实验任务已发布!
- Discuz采集之Discuz论坛采集全网文章采集伪原创发布方法(图文)
热门文章
- L1-060 心理阴影面积 java语言
- 过劳死也2.0:同志们,挺住!
- 贺老师C语言初步_04_项目_摄氏度转化为华氏度
- 第五届中国双创发展大会开幕在即 中国区域经济创新之路觅新对策
- 在word里面粘贴代码
- 仅展示近三天的动态设置_微信朋友圈各种设置功能的利弊 - “仅显示最近三天动态”...
- Unity3D-微信跳一跳(二)
- 联通大数据出炉:OPPO手机强势表现,华为苹果也要让三分
- 中文在线诉诺亚舟侵权索赔84万余元
- 循环智能杨植麟:“人机耦合”将是对话语义应用的新趋势