热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

MySQL数据库学习初步_MySQL

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 -pEnter password: ********Welcome to the MySQL monitor.Commands end with ; or /g.Your MySQL connection id is 17Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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_storeDatabase changedmysql> 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: 13Duplicates: 0Warnings: 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 PRIMARY KEY(id);Query OK, 0 rows affected (1.64 sec)Records: 0Duplicates: 0Warnings: 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=InnoDBDEFAULT 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 PRIMARY KEY(id);

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

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

推荐阅读
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • CentOS 7部署KVM虚拟化环境之一架构介绍
    本文介绍了CentOS 7部署KVM虚拟化环境的架构,详细解释了虚拟化技术的概念和原理,包括全虚拟化和半虚拟化。同时介绍了虚拟机的概念和虚拟化软件的作用。 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文介绍了Oracle数据库中tnsnames.ora文件的作用和配置方法。tnsnames.ora文件在数据库启动过程中会被读取,用于解析LOCAL_LISTENER,并且与侦听无关。文章还提供了配置LOCAL_LISTENER和1522端口的示例,并展示了listener.ora文件的内容。 ... [详细]
  • 本文详细介绍了Linux中进程控制块PCBtask_struct结构体的结构和作用,包括进程状态、进程号、待处理信号、进程地址空间、调度标志、锁深度、基本时间片、调度策略以及内存管理信息等方面的内容。阅读本文可以更加深入地了解Linux进程管理的原理和机制。 ... [详细]
  • 本文介绍了关于apache、phpmyadmin、mysql、php、emacs、path等知识点,以及如何搭建php环境。文章提供了详细的安装步骤和所需软件列表,希望能帮助读者解决与LAMP相关的技术问题。 ... [详细]
  • 本文介绍了在Linux下安装和配置Kafka的方法,包括安装JDK、下载和解压Kafka、配置Kafka的参数,以及配置Kafka的日志目录、服务器IP和日志存放路径等。同时还提供了单机配置部署的方法和zookeeper地址和端口的配置。通过实操成功的案例,帮助读者快速完成Kafka的安装和配置。 ... [详细]
  • 一句话解决高并发的核心原则
    本文介绍了解决高并发的核心原则,即将用户访问请求尽量往前推,避免访问CDN、静态服务器、动态服务器、数据库和存储,从而实现高性能、高并发、高可扩展的网站架构。同时提到了Google的成功案例,以及适用于千万级别PV站和亿级PV网站的架构层次。 ... [详细]
author-avatar
王慧1019
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有