S2_SQL_第二章
第二章:初始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; //如果创建表
S2_SQL_第二章的更多相关文章
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
- 《Django By Example》第二章 中文 翻译 (个人学习,渣翻)
书籍出处:https://www.packtpub.com/web-development/django-example 原作者:Antonio Melé (译者注:翻译完第一章后,发现翻译第二章的速 ...
- Jenkins入门系列之——02第二章 Jenkins安装与配置
2014-12-08:已不再担任SCM和CI的职位,Jenkins的文章如无必要不会再维护. 写的我想吐血,累死了. 网页看着不爽的,自己去下载PDF.有问题请留言! Jenkins入门系列之——03 ...
- Python黑帽编程 2.0 第二章概述
Python黑帽编程 2.0 第二章概述 于 20世纪80年代末,Guido van Rossum发明了Python,初衷据说是为了打发圣诞节的无趣,1991年首次发布,是ABC语言的继承,同时也是一 ...
- 《Entity Framework 6 Recipes》翻译系列 (3) -----第二章 实体数据建模基础之创建一个简单的模型
第二章 实体数据建模基础 很有可能,你才开始探索实体框架,你可能会问“我们怎么开始?”,如果你真是这样的话,那么本章就是一个很好的开始.如果不是,你已经建模,并在实体分裂和继承方面感觉良好,那么你可以 ...
- Asp.Net MVC4 + Oracle + EasyUI 学习 第二章
Asp.Net MVC4 + Oracle + EasyUI 第二章 --使用Ajax提升网站性能 本文链接:http://www.cnblogs.com/likeli/p/4236723.html ...
- 数据结构与算法分析C++表述第二章编程题
把昨天看的第二章巩固一下,做一做编程习题. 2.6: 第一天交2元罚金,以后每一天都是前一天的平方,第N天罚金将是多少? 这个题目和2.4.4-3介绍的幂运算基本一致.若按相同的递归思路分析,比那个问 ...
- 【vue.js权威指南】读书笔记(第二章)
[第2章:数据绑定] 何为数据绑定?答曰:数据绑定就是将数据和视图相关联,当数据发生变化的时候,可以自动的来更新视图. 数据绑定的语法主要分为以下几个部分: 文本插值:文本插值可以说是最基本的形式了. ...
- Java语言程序设计(基础篇)第二章
第二章 基本程序设计 2.2 编写简单的程序 1.变量名尽量选择描述性的名字(descriptive name). 2.实数(即带小数点的数字)在计算机中使用一种浮点的方法来表示.因此,实数也称为浮点 ...
随机推荐
- 12块钱搭建一个ss(包括一个免费服务器)
AWS搭建ss(shadow socks) 如果你符合以下条件,那么继续看还是有点帮助的: 想搞个服务器(包括windows Linux)(免费) 想科学上网(也免费) 之前也从网上搜过本文内容,但手 ...
- JS中的函数和BOM
文档注释:开头两个*.写在函数上方,在调用函数时, 可以看到文档中的描述信息:function aaa(){ } [函数的声明及调用] 1.函数的声明格式: function 函数名(参数1,参数2, ...
- 开源的API集成测试工具 v0.1.2 - 增强体验
Hitchhiker 是一款开源的 Restful Api 集成测试工具,你可以在轻松部署到本地,和你的team成员一起管理Api. 详细介绍请看: http://www.cnblogs.com/br ...
- Windows环境下最新OpenCV和Contribute代码的联合编译
解决这个问题,目的在于获得并使用最新的完全版本的代码,主要方法是对CMake能够熟练使用,并且对编译等基础支持有所了解. 一.工具的准备 1 tortoisegit www.tortoisegit.o ...
- C++中模板Template的使用
1. 在c++Template中很多地方都用到了typename与class这两个关键字,而且好像可以替换,是不是这两个关键字完全一样呢?class用于定义类,在模板引入c++后,最初定义模板的方法为 ...
- 性能测试中vmstat命令的常见使用。
vmstat是Linux中常用的一个命令,尤其是在进行性能测试时,使用该命令,往往能辅助我们进行性能问题定位. 我们先看一下这个命令执行得到的数据. [root@xxx ~]# vmstat 1 10 ...
- 垂直居中小记 line-height table vertical-align:middle
垂直居中分两种情况:1.父元素高度确定的单行文本 2.以及父元素高度确定的多行文本. 1.垂直居中-父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 height 和 line ...
- 团队作业8——第二次项目冲刺(Beta阶段)--5.24 forth day
团队作业8--第二次项目冲刺(Beta阶段)--5.24 forth day Day four: 会议照片 项目进展 Beta冲刺的第四天,以下是今天具体任务安排: 队员 昨天已完成的任务 今日计划完 ...
- 201521123012 《Java程序设计》第三周学习总结
一.本章学习总结 1.面对对象:(1)类 <1>属性 [1]外部类 [2]内部类 <2>方法 [1]j静态 [2]非静态 (2)对象 <1>创建对象 <2&g ...
- Java补码表和位移运算符
在java中数据都是以二进制的形式保存的. 但是我们看到的数据怎么是10进制的? 因为java展示之前会自动调用toString()方法 这里以4位2进制为例,4位2进制只能表示16个数,即0-15. ...