自学数据库MySQL

自学数据库MySQL


##简介
MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言–结构化查询语言(SQL)进行数据库管理。

由于MySQL是开放源代码的,因此任何人都可以在General Public License的许可下下载并根据个性化的需要对其进行修改。MySQL因为其速度、可靠性和适应性而备受关注。大多数人都认为在不需要事务化处理的情况下,MySQL是管理内容最好的选择。

MySQL这个名字,起源不是很明确。一个比较有影响的说法是,基本指南和大量的库和工具带有前缀“my”已经有10年以上,而且不管怎样,MySQL AB创始人之一的Monty Widenius的女儿也叫My。这两个到底是哪一个给出了MySQL这个名字至今依然是个迷,包括开发者在内也不知道。

MySQL的海豚标志的名字叫“sakila”,它是由MySQL AB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者Ambrose Twebaze提供。根据Ambrose所说,Sakila来自一种叫SiSwati的斯威士兰方言,也是在Ambrose的家乡乌干达附近的坦桑尼亚的Arusha的一个小镇的名字。

MySQL,虽然功能未必很强大,但因为它的开源、广泛传播,导致很多人都了解到这个数据库。它的历史也富有传奇性。

##常用命令

  1. 使用SHOW语句找出在服务器上当前存在什么数据库:
    mysql> SHOW DATABASES;
  2. 创建一个数据库MYSQLDATA
    mysql> CREATE DATABASE MYSQLDATA;
  3. 选择你所创建的数据库
    mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明操作成功!)
  4. 查看现在的数据库中存在什么表
    mysql> SHOW TABLES;
  5. 创建一个数据库表
    mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));
  6. 显示表的结构:
    mysql> DESCRIBE MYTABLE;
  7. 往表中加入记录
    mysql> insert into MYTABLE values (”hyq”,”M”);
  8. 用文本方式将数据装入数据库表中(例如D:/mysql.txt)
    mysql> LOAD DATA LOCAL INFILE “D:/mysql.txt” INTO TABLE MYTABLE;
  9. 导入.sql文件命令(例如D:/mysql.sql)
    mysql>use database; mysql>source d:/mysql.sql;
  10. 删除表
    mysql>drop TABLE MYTABLE;
  11. 清空表
    mysql>delete from MYTABLE;
  12. 更新表中数据
    mysql>update MYTABLE set sex=”f” where name=’hyq’;

##系统特性

  1. 使用 C和 C++编写,并使用了多种编译器进行测试,保证了源代码的可移植性。

  2. 支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统。

  3. 为多种编程语言提供了 API。这些编程语言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。

  4. 支持多线程,充分利用 CPU 资源。

  5. 优化的 SQL查询算法,有效地提高查询速度。

  6. 既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中。

  7. 提供多语言支持,常见的编码如中文的 GB 2312、BIG5,日文的 Shift_JIS等都可以用作数据表名和数据列名。

  8. 提供 TCP/IP、ODBC 和 JDBC等多种数据库连接途径。

  9. 提供用于管理、检查、优化数据库操作的管理工具。

  10. 支持大型的数据库。可以处理拥有上千万条记录的大型数据库。

  11. 支持多种存储引擎。

  12. MySQL 是开源的,所以你不需要支付额外的费用。

  13. MySQL 使用标准的 SQL数据语言形式。

  14. MySQL 对 PHP 有很好的支持,PHP是目前最流行的 Web 开发语言。

  15. MySQL是可以定制的,采用了 GPL协议,你可以修改源码来开发自己的 MySQL 系统。

  16. 在线 DDL/更改功能,数据架构支持动态应用程序和开发人员灵活性(5.6新增)

  17. 复制全局事务标识,可支持自我修复式集群(5.6新增)

  18. 复制无崩溃从机,可提高可用性(5.6新增)

  19. 复制多线程从机,可提高性能(5.6新增)

  20. 3倍更快的性能(5.7新增)

  21. 新的优化器(5.7新增)

  22. 原生JSON支持(5.7新增)

  23. 多源复制(5.7新增)

  24. GIS的空间扩展(5.7新增)

###如何安装和运行数据库
接下来我们需要配置下 MySQL 的配置文件

打开刚刚解压的文件夹 C:\web\mysql-8.0.11 ,在该文件夹下创建 my.ini 配置文件,编辑 my.ini 配置以下基本信息:

[mysql]
# 设置mysql客户端默认字符集
default-character-set=utf8
 
[mysqld]
# 设置3306端口
port = 3306
# 设置mysql的安装目录
basedir=C:\\web\\mysql-8.0.11
# 设置 mysql数据库的数据的存放目录,MySQL 8+ 不需要以下配置,系统自己生成即可,否则有可能报错
# datadir=C:\\web\\sqldata
# 允许最大连接数
max_connections=20
# 服务端使用的字符集默认为8比特编码的latin1字符集
character-set-server=utf8
# 创建新表时将使用的默认存储引擎
default-storage-engine=INNODB

接下来我们来启动下 MySQL 数据库:

以管理员身份打开 cmd 命令行工具,切换目录:

cd C:\web\mysql-8.0.11\bin
初始化数据库:

mysqld --initialize --console
执行完成后,会输出 root 用户的初始默认密码,如:

...
2018-04-20T02:35:05.464644Z 5 [Note] [MY-010454] [Server] A temporary password is generated for root@localhost: APWCY5ws&hjQ
...

APWCY5ws&hjQ 就是初始密码,后续登录需要用到,你也可以在登陆后修改密码。

输入以下安装命令:

mysqld install
启动输入以下命令即可:

net start mysql
注意: 在 5.7 需要初始化 data 目录:

cd C:\web\mysql-8.0.11\bin mysqld --initialize-insecure
初始化后再运行 net start mysql 即可启动 mysql。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值