MySQL自学篇(一)

一、启动MySQL服务并登录MySQL数据库

一、启动MySQL服务

1.单机【开始】菜单,在弹出的菜单中选择【运行】命令,打开【运行】对话框

2.在文本框中输入“services.msc”,单击【确定】按钮,打开Windows的【服务管理器】

3.DOS下输入“net start mysql”启动服务。输入“net stop mysql”关闭服务

二、登录MySQL数据库

1.以Windows方式登录

点击【开始】—>【运行】—>cmd—>myslq -h -hostname -u username -p

-h后面的参数为服务器地址

-u后面的参数为数据库用户名

-p后面的参数为用户的登录密码

2.使用MySQL Command Line Client登录

点击【开始】—>【所有程序】—>【MySQL Server】—>【MySQL Command Line Cliennt】

进入密码输入窗口

3.MySQL图形化管理工具登录数据库

三、配置Path变量

以上通过Windows方式登录时,之所以可以登录上MySQL数据库,是因为配置了MySQL的bin目录到了Path变量中。

配置Path的步骤:

右击【我的电脑】—>【属性】—>【系统属性】—>【高级】—>【环境变量】—>【Path】—>【编辑】—>将MySQL的bin目录加入其中—>【确定】

二、更改MySQL的配置

1、通过配置向导来更改配置

进入MySQL安装bin目录,启动MySQLInstanceConfig.exe文件

2、手动更改配置

配置MySQL安装目录下的my.ini文件

二、MySQL数据库的基本操作

1、创建数据库

MySQL安装完成后,将会在其data目录下自动创建几个必须的数据库,可以使用SHOW DATABASE;语句来查看当前所有已存在的数据库。

创建数据库的语句:

CREATE DATABASE database_name;

范例:

创建测试数据库test_db

CREATE DATABASE test_db;

创建完成后可以使用SHOW CREATE DATABASE查看数据库定义

2、删除数据库

删除数据库是将已经存在的数据库从磁盘上删除,清除之后,数据库中的数据也将一同被清楚。

删除数据库的语句:

DROP DATABASE database_name;

范例:

删除测试数据库test_db

DROP DATABASE test_db;

三、数据库存储引擎

数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建、查询、更新、删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。

1、MySQL存储引擎简介

查看支持的引擎类型

SHOW ENGINES;

2、InnoDB存储引擎

InnoDB事务类型数据库的首选引擎,支持事务安全表,支持行锁定和外键。MySQL5.5.5之后,InnoDB作为默认存储引擎,InnoDB主要的特性有:

A、InnoDB提供MySQL提交、回滚、崩溃恢复能力的事务安全存储引擎。InnoDB锁定在行级别并且也在SELECT语句中提供一个类似Oracle的非锁定读。

B、InnoDB是为处理巨大数据量的最大性能设计

C、InnoDB存储引擎完全与MySQ服务器,InnoDB存储引擎是在主内存中缓存数据和索引而维持它自己的缓冲池。

D、InnoDB支持外键完整性约束

E、InnoDB被用在众多需要高性能的大型数据库站点上

InnoDB不创建目录,使用InnoDB时,MySQL将在MySQL数据库目录下创建名称为ibdata1的10MB大小的自动扩展数据文件,以及两个名为ib_logfile0和ib_logfile1的5MB大小的日志文件。

3、MyISAM存储引擎

MyISAM基于ISAM存储引擎,并对其进行扩展。他是在Web、数据仓库和其他环境下最长使用的存储引擎之一。MyISAM拥有较高的插入、查询速度,但是不支持事务。在MySQL5.5.5之前的版本中,MyISAM是默认的存储引擎。MyISAM的主要特性有:

A、大文件。在支持大文件的文件系统和操作系统上被支持

B、当把删除和更新及插入操作混合使用的时候,动态尺寸的行产生更少的碎片。

C、每个MyISAM表的最大索引数是64,可通过重新编译来改变。每个索引最大的列数是16个。

D、最大的键长度是1000字节。可以通过编译来改变。

E、BLOB和TEXT列可以被索引

F、NULL值允许在索引列中。

G、所有数字键值以高字节优先被存储以允许一个更高的索引压缩

H、每表一个AUTO_INCREAMENT列的内部处理

I、可以数据文件和索引文件放在不同目录

J、每个字符列可以有不同的字符集

K、有VARCHAR的表可以固定或动态记录长度

L、VARCHAR和CHAR列可以多大64KB

使用MyISAM引擎创建数据库,将产生3个文件。文件的名字以表的名字开始,扩展名指出文件类型:frm文件存储表定义,数据文件扩展名为.MYD(MYData),索引文件扩展名为.MYI(MYIndex)

4、MEMORY存储引擎

MEMORY存储引擎将表中的数据存储到内存中,为查询和引用其他数据提供快速访问。

MEMORY主要特点:

A、MEMORY表的每个表可以多大32个索引,每个索引16列,以及500字节的最大键长度

B、MEMORY存储引擎执行HASH和BTREE索引

C、可以在MEMEORY表中有非唯一键

D、MEMORY表使用一个固定的记录长度格式

E、MEMORY不支持BLOB和TEXT列

F、MEMORY支持AUTO_INCREMENT列和对可包含NULL值列的索引

G、MEMORY表在所有客户端之间共享

H、MEMORY表内容被存在内存中,内存是MEMORY表和服务器在查询处理时的空闲中,创建的内部表共享

I、当不再需要MEMORY表的内容时,要释放被MEMORY表使用的内存,应执行DELETE FROM或TRUNCATE TABLE或者删除整个表。

时间: 2024-10-12 20:41:38

MySQL自学篇(一)的相关文章

MySQL自学篇(九)——字符串函数(二)

(8)删除指定字符串的函数TRIM(s1 FROM s) TRIM(s1 FROM s2)删除字符串s中两端所有的子字符串s1.s1是可选向,在未指定情况下,删除空格. select trim('xy' from 'xyxboxyokxxyxy'); (9)重复生成字符串的函数REPEAT(s,n) 返回一个有重复的字符串s组成的字符串,字符串s的个数是n.如果n<0,返回空字符串.如果s或n为NULL,则返回NULL select repeat('MySQL',3); (10)空格函数SPAC

MySQL自学篇(三)

MySQL数据类型介绍 MySQL支持多种数据类型,主要有数值类型.日期类型.字符串类型 数值类型 MySQL主要提供的整数类型有:TINYINT/SMALLINT/MEDIUMINT/INT(INTEGER)/BIGINT 整数类型的属性字段可以添加AUTO_INCREMENT自增约束条件. 1.MySQL中整数类型 整数类型的取值范围 2.浮点数类型和定点数类型 MySQL中使用浮点数和定点数表示小数.浮点数类型有两种,单精度浮点数(FLOAT)和双精度浮点数(DOUBLE).定点类型只有D

MySQL自学篇(二)

创建数据表 1.创建数据表的语法格式 数据表属于数据库,在创建数据表之前要使用"USE <数据库名>"指定操作是在哪个数据库中进行的,如果没有选择数据库,将会出现"No database selected"的错误 创建数据表的语句为: CREATE TABLE , 语法规则为: CREATE TABLE <表明> ( 字段1 数据类型 [列级约束条件] [默认值], 字段2 数据类型 [列级约束条件] [默认值], ...... [表级约束条

MySQL自学篇(五)

常见运算符介绍 1.算数运算符 运算符 作用 + 加法运算 - 减法运算 * 乘法运算 / 除法运算 % 求余运算 2.比较运算符 运算符 作用 = 等于 <=> 安全的等于.可以用于判断NULL < >   != 不等于 <= 小于等于 >= 大于等于 IS NULL 是否为空 IS NOT NULL 是否不为空 LEAST 返回最小值 GRETEST 最大值 BETWEEN AND 两个值之间 ISNULL 与IS NULL等价 IN 判断一个值是IN列中的任意一个

MySQL自学篇(十)——日期函数

日期和时间函数 (1)获取当前日期的函数和时间的函数 CURDATE()和CURRENT_DATE()函数,获取当前日期 select current_date(),curdate(),curdate()+0; curdate()+0   表示将当前时间转化为数值型 CURTIME()和CURRENT_TIME()获取当前时间 select curtime(),current_time(),current_time()+0; current_time()+0   表示将当前时间转化为数值型 (2

MySQL自学篇(八)

2.字符串函数 (1)计算字符串字符数的函数和字符串长度的函数 CHAR_LENGTH(str)返回字符串str所包含的字符个数.一个多字节字符字符算作一个单字符 select char_length('date'),char_length('egg'),char_length('中国'); (2)合并字符串函数CONCAT(s1,s2...).CONCAT_WS(x,s1,s2...) CONCAT(s1,s2...)函数中,如果任一参数为NULL,则返回NULL: CONCAT_WS(x,s

MySQL自学篇(十一)

数据查询 一.单表查询 1.在select语句中使用"*"表示查询所有字段 首先: 创建一张表,由于测试 create table student(id int primary key not null,name varchar(30),sex varchar(4),class varchar(10)); 其次: 插入数据,用于下面的查询操作 insert into student(id,name,sex,class) values (01,'张三','男','班级1'),(02,'李

Mysql+DRBD+Heartbeat 实现mysql高可用的双机热备(mysql+heartbeat篇)

*************************************部署MYSQL******************************************* yum -y install  gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake bison* useradd mysql -d /usr/loc

mysql注入篇

博客这个东西真的很考验耐心,每写一篇笔记,都是在艰难的决定中施行的,毕竟谁都有懒惰的一面,就像这个,mysql注入篇,拖拖拖一直拖到现在才开始总结,因为这个实在是太多太杂了,细细的总结一篇太烧脑. 由于我没有找见php的实战本地源码,所以只好用一些漏洞平台的源码来演示了,演示不了的,只能列代码,没有实操图.毕竟找不见源码,,没法... 首先我们都知道mysql数据库和Access数据库的不同,不同在mysql是分多个数据库名的. 就像像我上图贴的这个格式一样,原谅我是在是没有本地源码,连数据库的