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开放源代码包的设置让安装和使用出奇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初步研究数据库的更多相关文章
- mysql中间件研究(Atlas,cobar,TDDL)
mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差.下面介绍几款能代替其的mysql开源中间件产品,Atlas ...
- mysql中间件研究(Atlas,cobar,TDDL)[转载]
mysql中间件研究(Atlas,cobar,TDDL) mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差. ...
- MySql初步II
[MySql初步II] 1.Order By 你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列. 默认情况下,它是按升排列. 实例: 2.Join语法 Join不是一个关键字 ...
- mySQL (关系型数据库管理系统)
MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品.MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RD ...
- mysql中间件研究(tddl atlas cobar sharding-jdbc)
mysql-proxy是官方提供的mysql中间件产品可以实现负载平衡,读写分离,failover等,但其不支持大数据量的分库分表且性能较差.下面介绍几款能代替其的mysql开源中间件产品,Atlas ...
- MySQL 8 升级数据库
开始升级前 因为从MySQL 8.0 到MySQL 5.7,或者从MySQL 8.0 到之前的 MySQL 8.0版本都是不支持的.所有在在升级前要做好数据库备份,包括mysql 系统schema(数 ...
- 实验十--- MySQL过程式数据库对象
实验十 MySQL过程式数据库对象 一. 实验内容: 1. 存储过程的创建和调用 2. 存储函数的创建和调用 3. 触发器的创建和触发 4. 事件的创建和修改 一. 实验项目:员工管理数据库 用于 ...
- Redis/Mysql/SQLite/MongoDB 数据库对比
一.Redis: redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(so ...
- MySQL+Amoeba实现数据库主从复制和读写分离
MySQL读写分离是在主从复制的基础上进一步通过在master上执行写操作,在slave上执行读操作来实现的.通过主从复制,master上的数据改动能够同步到slave上,从而保持了数据的一致性.实现 ...
随机推荐
- cocos2d-x 3.0 使用Sax解析xml文件(中国显示器问题解决)
今天是个好日子.我以为事情可以变得,明天是个好日子.打开门儿春风... 恩,听着歌写文档生活就是这么享受. 今天曾经的邻居大神突然在qq上赞了我一下,这让我异常激动啊.. 这还要从前前前几天说起,那会 ...
- win7下怎样设置putty免用户名密码登陆
putty是一款好用的远程登录linux服务器软件,但每次输入用户名密码毕竟有些烦人,这里教你免用户名密码登陆. 工具/原料 putty 方法/步骤 去百度下载putty,小巧易用,仅有0.5 ...
- VCL改变主窗体的方法
使用如下语句即可Pointer((@Application.MainForm)^) := Form1; 仔细想想和Pointer((Application.MainForm)) := Form1;有什 ...
- hdu 3221 Brute-force Algorithm(高速幂取模,矩阵高速幂求fib)
http://acm.hdu.edu.cn/showproblem.php?pid=3221 一晚上搞出来这么一道题..Mark. 给出这么一个程序.问funny函数调用了多少次. 我们定义数组为所求 ...
- 【BASH】自己主动清理rman脚本备份文件
************************************************************************ ****原文:blog.csdn.net/clark_ ...
- The tempfile module
The tempfile module The tempfile module This module allows you to quickly come up with unique names ...
- poj 1220 NUMBER BASE CONVERSION(短除法进制转换)
题目连接:1220 NUMBER BASE CONVERSION 题目大意:给出两个进制oldBase 和newBase, 以及以oldBase进制存在的数.要求将这个oldBase进制的数转换成ne ...
- WebService的相关使用
近期公司项目使用WebService ,这里简单做个总结. 事实上详细使用细节有些情况下须要改,还须要看实际情况,须要与server联调,详细沟通. 比方公司连接,非要把envelope.dotNet ...
- Apache配置虚拟文件夹
作为一个Android开发人员,一直以为,至少应该有一个server语言,最近慢慢学习php,当然学习Apache使用.本文介绍Win7环境下,怎样配置Apache的虚拟文件夹. 首先,找到我们Apa ...
- 《深入理解OSGi:Equinox原理、应用与最佳实践》笔记_1_运行最简单的bundlehelloworld
<深入理解OSGi:Equinox原理.应用与最佳实践>笔记_1_运行最简单的bundlehelloworld 买了周大大的OSGI的书看 先前完全没有基础 就靠这本书看看学学 顺便记一些 ...