上班之余抽点间时出来写写博文,希望对新接触的朋友有帮助。今天在这里和大家起一学习一下宋体查询

1.mysql数据库温习增强

1,导出mysql数据库里ecshop到d盘

mysqldump 指令和 mysql指令是一样的

引出一个环境变量:

就是统系找到要需运行的程序的路径

Mysqldump -u root -p 数据库名 > 导出的文件名

1,找到mysqldump.exe这个程序,它是用来份备的

2,行执份备命令

E:\wamp\mysql\bin>mysqldump -u root -p ecshop > d:/ecshopbak.sql

(2)份备数据库中某个数据表

1,找到mysqldump.exe这个程序,它是用来份备的

2,行执份备命令

E:\wamp\mysql\bin>mysqldump -u root -p ecshop ecs_goods > d:goodsbak.sql

导入外部数据库文件

source  指令是属于mysql的

删除数据表

drop table ecs_goods;

清空数据表中的数据:

delete from 表名

delete 和 drop 区分:

delete q清空数据表中的数据(构结)

drop 删除个整表

编码:

utf-8 同一的编码,它支撑中文和英文,议建建表的时候都是用utf-8,利于网站国际化

gb2312 支撑大陆的中文,

gbk 括包gb2312,支撑韩文,日文,香港。。。

mysql 数据库数据类型(列类型)

1,数值类型(整型,浮点型,定点型)

2,字符串类型(char, varchar,text,enum(枚举类型))

但是enum类型由于兼容性和移植性,不太议建应用

3,日期和间时类型

datetime()------年月日时分秒

date----------年月日

time--------时分秒

间时戳示表间时---------timestamp---------now()

int示表的范围是 --- 0---

tinyint 示表的范围------0-255

smallint--------

有号符 signed ------正负数   -128  到  127 示表的范围也是255个长度

无号符 unsigned------没有正负数     0 -255

如果给全班同窗建表

unsinged

字符串类型

char  定长(牢固长度)字符串----- 0-65535

varchar  可变长度----varchar (255)多少个节字 ,最多255个

text  大的文本数据

间时日期类型

date()

剖析这个数据库函数

timestamp ------------不剖析-----所以速度要比mysql日期函数快

我议建应用间时戳示表间时

训练:

给我们的同窗建一张数据表,段字括包

生学id
姓名

学入间时

tinyint  255    -128 127  0-255

unsigned

varchar(10) 可变长度,最多10个节字,真正应用几个给你分配几个

char() ---------定长 0-65535,不管字符串或多或少都占用 65535长度

name

time

date, datetime mysql置内的日期函数,mysql引擎查询的时候要先剖析 函数,速度慢

timestamp   字符串(‘2013-04-16’)

化优表注意事项:

1,创立id-----尽量表前缀连上id,假如 商品表  goods_id  分类表  cat_id

2,创立表的时候---指定存储引擎------如果查询为主的话,engine=myisam ,为了免避乱码----指定utf8 default charset

3,尽量应用间时戳或字符串 示表日期和和间时

4,段字(数值,字符串)

(2)查询语句:

取得商品id为 3 5 7 8 的商品信息

group by 分组的应用

1,商品表和商品分类表,通过在商品表中加增 cat_id段字,联关起来了

2,ecs_category分类表,保存的是商品的分类 id

注意:

//查询不同cat_id,上面对应的不同的商品数量

(1)先根据分类,分组

(2)再统计分组面里的商品的数量

group by 根据xx来分组,

如果计合函数,和group by 起一应用的话,统计的是当前分组内的数据

训练题:

查询不同的商品分类上面,商品格价的总和

查询不同的商品分类上面,格价最高的商品

查询不同的商品分类上面,商品格价的平均数

计合函数:

Max:最大值

M1in:最小值

Count():统计总的录记数

Avg:平均数

Sum:乞降

having  和  where 区分:

where:制约的是个整数据表中段字

select goods_name from ecs_goods where goods_id=9;

having: 制约的件条是:后面查询的结果,这个结果有什么件条

union查询

union 合联 连接

union可以将多个查询语句连接起来,select 1  union  select2

(select goods_name from ecs_goods where cat_id=3 order by shop_price desc limit 3)

union (select goods_name from ecs_goods where cat_id=4 order by shop_price asc li

mit 3);

//查询手机类型上面的全部的手机品牌

mysql> select cat_name from ecs_category where cat_id=1 union select cat_name fr

om ecs_category where parent_id=1;

子查询

如果一个select查询语句 包含了一另select查询语句 就称之为子查询

(1)select型子查询

select goods_name from ecs_goods where cat_id=(select cat_id from ecs_cat

egory where cat_name = 'GSM手机');

(2)from型子查询

要需注意:

from面后的子查询表列 要有自己的别名

select goods_name from(select * from ecs_goods where cat_id in(3,5)) as tem_goods where goods_name like '诺基亚%';

路思1:

select avg(score),name from score where name in(select name from score where score < 60 group by name having count(*)>=2) group by name;

路思2:

1,统计每一个分组中,分数小于60的课功数量

select count(subject) as na from score group by subject having na >=2;

路思3:

1,统计每一个分组中,分数小于60的课功数量

select sum(score<60) as su from score group by name having su>=2;

select avg(score),name from score where name in(select name from score where score < 60 group by name having count(*)>=2) group by name;

2.mysql务事触发器

1,连接查询

union 连接的是多个select 语句

join 连接查询:

当我们期望的结果不再同一张表上时,我们要需应用join连接查询

语法:

table1 join table2 on table1的某个段字 = table2的某个段字

件条是 商品表中商品的分类id =  分类表中这个分类的id

当查询语句中,多次应用某个表,或者这个表名别特长的时候,我们议建给这个表加添一个别名

mysql> select goods_name,shop_price,cat_name from ecs_goods as g join ecs_catego

ry as c on g.cat_id = c.cat_id where g.shop_price>=1000;

join的分类:

左连接查询 left join:查询的结果是只要边左有的录记,会都表现,边右没有的表现为null

每日一道理
爱,有的时候不要需山盟海誓的承诺,但她一定要需细致入微的关怀与问候;爱,有的时候不要需梁祝化蝶的悲壮,但她一定要需心有灵犀的默契与投合;爱,有的时候不要需雄飞雌从的追随,但她一定要需相濡以沫的支撑与理解。

右连接查询 right join

内连接查询 inner join : 查询的结果是两个表都有的数据

务事:

什么是务事?

务事是逻辑上的一组操纵,构成这组操纵的各个元单,要不全都功成要不全都失败,这个性特就是务事

注意:mysql数据支撑务事,但是求要必须是innoDB存储引擎

处理这个题问:

mysql的务事处理这个题问,因为mysql的务事性特,求要这组操纵,要不全都功成,要不全都失败,这样就免避了某个操纵功成某个操纵失败。利于数据的安全

如何应用:

(1)在行执sql语句之前,我们要开启务事 start transaction;

(2)常正行执我们的sql语句

(3)当sql语句行执毕完,存在两种情况:

1,全都功成,我们要将sql语句对数据库成造的影响提交到数据库中,committ

2,某些sql语句失败,我们行执rollback(回滚),将对数据库操纵赶忙撤销

php代码:

开启务事后,只要不行执commit,sql语句不会对实真的数据库成造影响

只有行执commit以后,才会对实真数据库成造影响

触发器:

触发器是数据库的一个程序,他是用来听监着数据表的某个行为,一旦数据表的这个行为产生了,马上行执响应的sql语句

触发器的语法构结:

create trigger 触发器的称名 触发器件事 on 听监的表名 for each row 行为产生后行执的sql语句

触发器件事构成:;两部分构成:

触发器件事产生的间时-----是在听监的表的行为 after  before  经常使用的是after

触发器行执的容内:增编削

创立order 表的时候,要需注意,因为order在mysql中是一个关键字 排序,为了免避错误的产生,我们可以加添反引号,明表这不是一个关键字

如何应用触发器:

案例究研:

一旦成生订单,对应的库存表要减去响应的数据

(1)建商品表和订单表

订单表

(2)给订单表定绑触发器,一旦订单表加增订单,马上行执sql语句,将商品库存表减去响应的数据

在现有个题问:

每次下订单后,库存表都是减去响应的数量牢固死的,但是我们的需求是:用户下几个订单,库存表减去几个库存

如在何触发器中应用触发数据?

什么是触发的数据:就是用户在订单表中买购的数量

new 关键字代表新加增的数量,订单表中新下的订单数量

old 关键字代表是旧的录记(从前的录记,取消的订单数量)

new 的应用:

old的应用:

旧的从前的录记,之前买了几个商品,但是又不想要了,取消订单

取消订单后,库存中要加增的响应的数量

update中new 和 old的应用

在现的需求是:

之前买购了5个samsung手机,在现想买10个,要需更新订单表

这个时候,触发器就要需听监着 update这个行为

先将之前下的订单撤销,再从新下订单

触发器是什么?

用来听监数据表的某个行为(insert,delete,update),一旦这个行为产生了,马上行执响应的sql语句

删除触发器:

drop trigger 触发器的称名

3.mysql 引索外键增强

1,引索

什么是引索?

引索------搜索---导引------导引着我去搜索到某个录记的

义定:

没有引索的情况下,我们查询一条录记,要需从第一条录记直一往下查询,晓得找查到我们要需的录记,如果录记数别特大的话,相当于铁树开花,速度别特慢

引索:建一个引索-----向指的是数据的位置-----映反到新华字典-----录记在所的页数

优势:

查询速度快了,但是缺乏:

加增了维护引索的工作量-----每加增一条录记----我就要在引索表列中加增一个引索号向指这条录记的位置

查询速度快了,但是增  删除  更新  速度慢了

扩展一点

数据库中引索保存在哪里?

保存在

引索的分类:

1,主键引索:当我们创立一个表后,指定主键后,动自将主键设置为主键引索

2,通普引索:就是在一个通普的段字上建立引索

3,独一引索:数据表中的某个段字是独一的,没有复重----

4,全文引索:在某个段字上建立全文引索,将录记内的关键字抽取出来,然后对每一个关键字停止引索    sphinx-----可以建立全文引索

创立引索:

(1)create [引索类型] index 引索名 on 表名(表的某个段字上)

(2)alter table 表名 add [引索类型] index (表的段字)

创立引索之前查询的录记数

创立引索以后查询一条录记,经过的录记数

删除引索:

改修引索:

只能是先删除在加增

外键:

什么是外键:

生学举例:

每一个生学对应一张

个人信息表(姓名,学号)

生学详细信息表(绩成,违纪录记,取得励奖,家庭地址,膏火,)

这两个表通过外键联关以后,如果有一天你毕业了,应当将你姓名,学号删除,这个生学上面对应的详细信息(绩成,违纪录记,取得励奖,家庭地址,膏火)动自删除

应用外键的件条:

(1)证保数据表的存储引擎必须是innoDB

(2)外键系关的两个表的列必须数据类型似相  int  tinyint   int----------varchar

外键义定的语法:

create table tem(id int, name varchar, foreign key(id) references outTable(id) on delete cascade on update cascade )

听监的外键表的行为:delete  update

foreign key(id)  指定当前表哪个段字是外键

references 和外部哪个表联关

constrict ‘’;  指定一个称名,(外键联关的称名,为了来将删除这个外键的话,通过这个称名来删除)约束的称名

mysql> create table xiaodi(id int primary key auto_increment,foreign_id int,name

varchar(32),constraint xiaodi_for foreign key(foreign_id) references dage(id) o

n delete cascade on update cascade)engine=innodb default charset=utf8;

(1)应用外键将两个表联关

在当前表创立外键段字------和外部表的某个段字可联关:foreign key(foreign_id)  references dage(id)

联关起来以后听监着外部那个表,如果他删除了,我要做什么?如果他更新了,我又要做什么

on delete  (参数3个)    on update  (参数3个)

当前表听监着 外键联关的那个表,听监的行为有两种(delete,update),一旦这些行为产生以后,我(xiaodi)要做哪些操纵

操纵分为3中(经常使用的有3中),cascade:瀑布,示表追随着外键联关的哪个表

restrict 严厉,示表外部联关的那个表删除了,我自己严厉求要自己(不追随化变)

NO ACTION  --------  无动作,没有映反

删除外键:

alter table 表名 drop foreign key 外键称名

重置数据库码密

(1)我们要明白数据库的码密保存在哪里?

mysql数据库 的 user表

要想改修码密,先进入mysql口窗,然后改修user表的password段字

步调:

(1)先闭关mysqld服务器端的进程

(2)再次开启mysqld这个服务,以不带权限验证式形开启(再打开一个口窗,开启mysqld-nt.exe这个进程以后不要闭关口窗)

(3)通过客户端 链接到mysql服务器端,这个时候我们录登的是root用户

(4)赶忙改修码密  注意:要需应用mysql的password()加密函数加密

(5)赶忙把跳过权限验证录登的式形 闭关(结束进程,从新开启服务进程)

4.zendstudio 的安装应用

同如dw notepad 的结合体~

5.svn版本控制器的应用

括包服务器端, 客户端

服务器端在根目录创立repository库放存库文件 如 weibo

在cmd口窗 运行 svnserve -d -r create 路径

在客户端创立文件夹并从相干路径获得便可

改修文件后 应用commit 交托给服务器

更新时应用update 选择响应version停止更新

文章结束给大家分享下程序员的一些笑话语录: 一程序员告老还乡,想安度晚年,于是决定在书法上有所造诣。省略数字……,准备好文房4宝,挥起毛笔在白纸上郑重的写下:Hello World

转载于:https://www.cnblogs.com/jiangu66/archive/2013/04/24/3040039.html

宋体查询1.mysql数据库复习加强 2.mysql事务触发器 3.mysql 索引外键加强 4.zendstudio 的安装使用 5.svn版本控制器的使用-java教程...相关推荐

  1. Mysql数据库复习大纲

    基础知识 1 MySQL数据库概要 2 简单MySQL环境 3 数据的存储和获取 4 MySQL基本操作 5 函数 6 数据查询 核心技术 7 索引 8 存储过程 9 触发器 10 视图 11 事务 ...

  2. mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查

    mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查 Got fatal error 1236 from master when reading data from binar ...

  3. 当远程连接MySQL数据库的时候显示Can't connect to MySQL server (10060

    当远程连接MySQL数据库的时候显示Can't connect to MySQL server (10060),我们从以下几个方面入手,找出错误的原因: 1.网络不通. 检查能不能ping通. 2.防 ...

  4. 数据库表设计索引外键设计_关于索引的设计决策 数据库管理系统

    数据库表设计索引外键设计 Introduction: 介绍: The attributes whose values are required inequality or range conditio ...

  5. php操作mysql数据库的扩展有哪些_8.PHP操作MySQL数据库(Mysqli扩展)

    思考:如果数据库的操作都是需要我们手动去调用客户端发送指令,那么这样的操作有什么意义呢? 引入:手动通过客户端操作MySQL数据库,只是我们学习SQL的一种手段.要实现数据库的自动调用,就需要客户端能 ...

  6. 浅谈MySQL数据库中的锁与事务

    MySQL中的锁与锁策略 在MySQL中,为了应对并发场景下的读写,锁通常分为两类:共享锁以及排他锁.其中,共享锁允许多个连接在同一时间并发的读取相同的资源,彼此之间互不影响,所以又称为读锁.排他锁则 ...

  7. c 对一个mysql数据库进行操作_用C语言操作MySQL数据库

    函数 描述 mysql_affected_rows() 返回上次UPDATE.DELETE或INSERT查询更改/删除/插入的行数. mysql_autocommit() 切换autocommit模式 ...

  8. jdbc mysql数据库增删查改_通过JDBC对Mysql数据库进行简单的增删改查

    Java 数据库连接,(Java Database Connectivity,简称JDBC)是Java语言中用来规范客户端程序如何来访问数据库的应用程序接口,提供了诸如查询和更新数据库中数据的方法.J ...

  9. mysql数据库行业应用_腾讯云发布MySQL 8.0数据库 可应用至更多行业场景

    原标题:腾讯云发布MySQL 8.0数据库 可应用至更多行业场景 来源:21财经 目前,腾讯云数据库已有20多种数据库服务,包括云数据库MySQL.云原生数据库CynosDB.数据库智能管家DBbra ...

最新文章

  1. linux ico图标大小,带、你了解ico图标文件格式
  2. (建议收藏)产品经理要懂的SaaS知识,一文打包给你
  3. pandas.read_csv——分块读取大文件
  4. 过分了!耗资 5600 万、4 年开发的网络商城成“烂尾楼”,404 无法打开
  5. Python之lambda表达式
  6. 【系统架构】大规模的C++项目代码层次结构
  7. 人脸验证(六)--SphereFace
  8. 字符串通配符(动态规划)
  9. java8 treemap 排序_java中TreeMap排序的示例代码
  10. cutelyst教程_01 _简介
  11. 数学建模学习笔记(清风)——插值算法
  12. IPv4地址的结构体与网络字节序
  13. ARM Linux下安装CH341串口驱动
  14. 选择了考研,你后悔过吗?
  15. 计算机考研英语复试自我介绍范文,2017考研英语复试自我介绍6篇
  16. 心路历程(一)--天圆地方的时候
  17. OV7670寄存器配置1
  18. 手机RSS资源地,各大网站RSS源地址订阅
  19. php5.4.16升级至php5.6.40
  20. 盛世昊通与中国品牌CaldiceKris达成战略合作

热门文章

  1. Microsoft SQL Server 数据库使用(一)
  2. 什么明星有计算机等级证,明星CP名也分等级?朱一龙王一博还好,看到胡一天:太有才了...
  3. 计算机开关机操作记录,win7电脑操作记录怎么查看|win7查看电脑操作记录的方法...
  4. 2022最全Hbuilder打包成苹果IOS-App的详解
  5. 音视频开发系列-H264编码原理
  6. ios调用restful接口_Office 365 iOS SDK-如何调用SharePoint REST API
  7. linux 隐藏命令参数,linux – 在ps中隐藏命令的参数
  8. 媒体播控系统、信息发布系统 使用说明
  9. 子网掩码是什么?子网掩码及其CIDR斜杠表示法
  10. Elasticsearch 使用java分页查询条数超过1w的解决办法 -search_after方式