第二章:初始mySql
2.1:mySql简介
2.1.2:mysql的优势
运行速度块,体积小,命令执行的块
使用成本低,开源的
容易使用
可移植性强
2.2:mysql的配置
2.2.1:端口配置
2.2.2:默认字符集设置
Standard Charter Set(标准字符集):包括除AsCII之外的很多语言,当需要使用到这些字符,就配置这种
Best Support For Multilngualism:支持多语言最好的字符集:默认UTF-8
Manual SelectedDufault :可以手动设置的字符集
2.2.3:将mysql的bin目录写入环境变量
2.2.4:root账号密码设置
2.3:命令行连接mySql
2.3.1:检查是否启动服务
步骤:计算机-----管理------服务和应用程序-------服务---搜索mysql右键启动服务
2.3.2:命令行方式连接数据库
步骤:进入dos命令:mysql --u root –p 回车输入密码即可
2.4:命令行方式操作mysql数据库
2.4.1:mysql的数据库类型
系统数据库
Information-Schema:主要存储的是系统的一些数据库对象
Performance-schema:主要存储的是数据库服务新能的参数
Mysql:主要存储系统的用户权限信息
Test:mysql数据库管理系统的自动的测试数据库,任何用户都可以使用
用户数据库
用户根据实际需求创建的数据库
2.4.2:操作数据库
- 创建数据库:create database 数据库名;
- 查看数据库:show databases;
- 选择使用数据库:use 数据库名;
- 删除数据库:drop database 数据库名;
2.5:sqlYog管理工具
2.5.1:通过sqlyog连接mysql
1:登录mysql
2:连接mysql
2.5.2:使用sqlyog工具创建数据库
1:通过操作向导创建数据库
步骤:右键资源管理器的空白处:创建数据库
2:通过sql语句创建数据库
步骤:在query的窗口输入sql语句。然后快捷键F11完成执行创建数据库任务。
2.6:使用sql语句操作数据库
2.6.1:回顾结构化查询语言
DMl(数据操作语言):用来插入,修改,删除表总的数据,如insert,update,delete
DDL(数据定义语言):在数据库中用来创建或者删除对象的语言,如create drop,alter等语句
DQL(数据查询语言):用来对数据库的数据进行查询的语言,如select
DCL(数据控制怨言):用来控制数据库的组件,存取权限
2.6.2:数据类型
- 数值类型
数据类型 |
字节数 |
TINYINT((M)) |
1字节 |
SMALLINT(M) |
2字节 |
MEDUMINT(M) |
3字节 |
INT(M) |
4字节 |
FLOAT(M,D) |
4字节 |
DOUBLE(M,D) |
8字节 |
DECIMAL(M,D) |
M+2字节 |
INT(4) ZEROFILL: 表示此列的宽度必须是4位数,如果不足4位的,在前面添加0 。超出4位了,以实际为准
2:字符串类型
数据类型 |
字节 |
说明 |
CHAR(M) |
M字节 |
固定长度的M为0-255 |
VARCHAR(M) |
可变长度的 |
可变长度的M为0-65535 |
TINYTEXT |
0-255 |
微型文本串 |
TEXT |
0-65535 |
文本串 |
3:日期类型
数据类型 |
格式 |
DATE |
YYYY-MM——DD |
DATETIME |
YY-MM-DD hh:mm:ss |
TIME |
Hh:mm:ss |
TIMESTAMP |
YYYYMMDDHHMMSS |
YEAR |
YYY格式的年份 |
2.6.3:创建表
1:语法
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型[字段属性] [ 约束] [索引] [注释],
字段1 数据类型[字段属性] [ 约束] [索引] [注释]
)[表类型] [表字符集] [注释];
例:CREATE TABLE `Student`(
`StudentNO` INT(4) ZeroFill PRIMARY KEY,
Name CHAR(10),
);
2:字段的约束及属性
字段属性,约束名 |
关键词 |
说明 |
非空约束 |
NOT null |
表示不能为空 |
默认约束 |
DEFAULT |
给予字段默认值,在不填写值的情况下 |
唯一约束 |
UNIQUE KEY(UK) |
设置改字段的唯一值,运行为空,单只能一个空值 |
主键约束 |
PRIMARY KEY(PK) |
设置改字段为主键,可以作为唯一的标识,比如学号 |
外键约束 |
FPREIGN KEY(FK) |
外键约束,用于连个表关联,需要制定引用的主表字段 |
自动增长 |
AUTO_INCREMENT |
设置改类自动增长默认加1,一般用于主键,可以设置初始值和增长率 |
例如:
单字段主键(定义字段时,设置)
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型PRIMARY KEY,
);
定义完所有字段再设置
单字段主键(定义字段时,设置)
CREATE TABLE [IF NOT EXISTS] 表名(
字段1 数据类型,
[CONSTRSINT<约束名>] PRIMARY KEY[l列名]
);
CREATE TABLE student(
`studentId` INT(4),
PRIMARY KEY(`studentId `)
);
多字段联合主键
CREATE TABLE student(
`studentId` INT(4),
PRIMARY KEY(`studentId `,name) //联合主键
);
3:注释
CREATE TABLE student(
`studentId` INT(4) COMMENT ‘编号’,
)COMMENT =’测试表’;
4:编码格式设置
CREATE TABLE student(
)CHARSET =’字符集全名’;
2.6.4:查看表
SHOW TABLES;
查看表详细信息
DESCRIBE 表名;或者DESC 表名;
删除表
DROP TABLE [ IF EXISTS ] 表名; DROP TABLE `student`;
2.7:mySql的存储引擎
2.7.1:常用的存储引擎
功能 |
InnoDB· |
MyISAM |
支持事务 |
支持 |
不支持 |
支持全文索引 |
不支持· |
支持 |
外键约束 |
支持 |
不支持 |
表空间大小 |
较大 |
较小 |
数据行锁定 |
支持 |
不支持 |
MyISAM存储引擎:不支持事务,不支持外键,访问速度较快,因此不需要事务处理,一访问为主适应改引擎
InnDB引擎:在事务上面有优势,支持具有提交,回滚,奔溃恢复能力的事务安装,比前者多占用空间,需要进行频繁的删除和更新,对事务完整性要求交稿,需要实现并发控制,适合于改存储引擎。
2.7.2:操作默认的存储引擎
语法:
Show VAARIABLES LIKE ‘storage_engine%’;like后面加的是要查询的关键词
如果修改存储引擎,可以通过配置向导,修改配置文件my.ini
Default-storage-engine=InnoDB
2.7.3:自定表的存储引擎
Create TabLE 表名(
)ENGINE=存储引擎; l例如:ENGINE=MyISAM
2.7.4:mySQL的数据文件
1:数据文件存储位置
一般在:c:\ProframDAta\Mysql\Mysql Server 5.5 \data\
可以通过修改my.ini配置文件来修改路径
2:myISAM表类型文件
进入enginedb文件,找到类型为myISAM的标的myISAM数据文件,扩展名为:frm MYI
MYD
Frm:表结构定义文件,主要存放源数据,包括表结构的定义信息,与存储引擎无关,任何类型都有一个这个文件
MYI索引文件,存放索引的信息,每个mySAIM表都有一个此文件,存放位置和frm相同
MYD文件:数据文件。存放表的数据文件
2.8:mysql系统帮助
2.8.1:如果查看mysql的帮助
HELP查询内容;
可以通过help Contents命令查看帮助文档的列表。
查看具体内容:HELP Data Types; //查看所有的类型
如要进一步查看某个类型:HELP INT; //即可
查询创建表:HELP create TABlE; //如果创建表