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.实数(即带小数点的数字)在计算机中使用一种浮点的方法来表示.因此,实数也称为浮点 ...
随机推荐
- 一、Nginx安装手册
1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境. gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有g ...
- input长度随输入内容动态变化 input光标定位在最右侧
<input type="text" onkeydown="this.onkeyup();" onkeyup="this.size=(this. ...
- 关于Linux中cd的一些快捷用法
cd 命令使用的一些小技巧 cd 进入主目录 cd ~ 同样进入主目录 cd - 返回当前目录之前所在的目录 cd .. 返回上级目录 cd ../.. 返回上级的上级目录 cd !$ 把上个命令的参 ...
- 团队作业8——Beta 阶段冲刺2rd day
一.今日站立式会议照片 二.每个人的工作 (1) 昨天已完成的工作: 今天是冲刺阶段的第二天,冲刺第一天我们完成了对于前端界面的改进与完善工作. (2) 今天计划完成的工作: 成员 昨天已完成的工作 ...
- 控制结构(10) 指令序列(opcode)
// 上一篇:管道(pipeline) 发现问题 在一个正式项目的开发周期中,除了源代码版本控制外,还存在着项目的配置/编译/打包/发布等各种高频但非"核心"的脚本代码.职业程序员 ...
- 201521123031 《Java程序设计》第8周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结集合与泛型相关内容. 2. 书面作业 本次作业题集集合 1.List中指定元素的删除(题目4-1) 1.1 实验总结 答:实现con ...
- Java中 == 和 equals()详解
java中的数据类型分为两种: 一 .基本数据类型: byte.short.int.long.float.double.char.boolean 比较它们需要用 == ,比较的是它们的值是否相等 ...
- JSP学习(一)之中文乱码问题的解决
一.响应中的乱码 我们所看到的页面,是由服务器把内容放入响应(response)中,然后发送给浏览器的.如果响应中的数据无法被正常解析,就会出现中文乱码.为什么英文不存在乱码问题?因为无论是ISO-8 ...
- 201521123030 《Java程序设计》 第12周学习总结
1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多流与文件相关内容. 2. 书面作业 1.将Student对象(属性:int id, String name,int age,dou ...
- Spring REST API + OAuth2 + AngularJS
http://www.baeldung.com/rest-api-spring-oauth2-angularjs 作者:Eugen Paraschiv 译者:http://oopsguy.com 1. ...