mysql(DOS)命令2

【DQL命令:】
########################################################################################################

1).编写顺序:
	select 聚合函数  from … where …join ..on.. group by … having… select..order by … limit….
2).执行顺序:
	1).from
	2).where--<筛选>
	3).group by
	4).聚合函数
	5).having--<筛选>
	6).select                                                                                                 
	7).order by--排序
	8).limit
 【in】相当于等于

########################################################################################################
1).比较运算符:

a).>:大于  b).<:小于  c).=等于  d).!=或><:不等于

	格式:select *from 表名 where 条件;

	举例:        查询年龄大于35的

	       select * from person where age>35;

2).逻辑运算符:

a).and:与 

b).or:或

c).not:非

	格式:select * from 表名 where 条件;

	举例:	查询年龄大于35的男同学

    		select * from person where age>35 and sex='男';

@【条件查询】

1).范围查询:(between…and…)
格式:select * from 表名 where 列名 between 数值 and 数值;

        举例:查询年龄在30-40之间的学员{select * from person where age between 30 and 40;}

2)模糊查询:(like)
a).通配符: % :通配任意数量的字符

           b).通配符:   _    :通配一个字符

		格式:select * from 表名 where 字段 like ...
		
		举例:查询"马姓" 学员:-----select * from person where name like '马%';

@【排序–(order_by)
格式:select * from 表名 order by 列名 asc(升序)/desc(降序);

	举例:       查询所有学员,按年龄升序排序:select * from person order by age asc;

@【聚合函数】

	a).count(总数):
		b).sum(求和):
			c).max(最大值):
		d).min(最小值):
	e).avg(平均值):

@格式:select * from 表名 where 列名 条件;

@示例:查询男生有多少人: select  count(*/字段)  from student1 where sex = ‘男’;

@注意: 使用“聚合函数”,其查询结果中只能包含“聚合函数”的结果,不能包含其它列,否则也是无意义的。因为“聚合函数”的结果是一个“计算	   的结果”,不是从表中查询出来的,跟任何一条数据无关

@【分组–group by】
格式:select 将谁分组(列名) ,分组干什么(聚合函数) from 表名 group by 将谁分组(列名);

                              举例:-求男同学和女同学的英语的最高分分别是多少-:SELECT sex,MAX(english) FROM student1 GROUP BY sex;

@【having语句】
1).需求:查询出每个城市各有多少学员?结果只显示人数大于1的信息:
SELECT address ,COUNT() FROM student1 GROUP BY address HAVING COUNT() > 1;
因为:where要早于“聚合函数”被执行,所以在执行where时,“聚合函数”还不能被执行,所以:
where不能对聚合函数的结果进行筛选,应该用:having。

@【分页limit】
1).MySQL支持分页查询:
select … from … where …. limit 起始行索引 , 每页记录数;

		select*    from 表名limit 起始索引,每页记录数;

@【数据库DOS命令备份】

a).备份:不登录mysql,直接输入命令:--mysqldump -u用户名 -p密码 -B 数据库名 >备份文件位

	注:-B表示:生成create database语句,否则不生成这条语句。

b).恢复:登录mysql,登录后输入--source 备份文件的位置

@【主键约束和自动增长】–<主键约束意味着这列的值:唯一、非空>

a).创建主键时:键名 类型 primary key;

b).修改表时:alter table 表名 ADD primary key 字段名;

c).删除主键:alter table 表名 drop primary key;

	1).一个表只能有一个主键;【常用】
	2).这个主键可以由一个字段表示,也可以由多个字段表示

@自动增长:

	字段名 类型 primary key auto_increment

		delete from student3;//清空表——不影响自动增长的基数
		truncate student3;//清空表(快)——自动增长的基数会归为:0

@【唯一约束】–<约束字段的值必须唯一,可以是null>

                 	格式:字段名 类型 unique;

@【非空约束】–<约束的字段不能为null,可以重复>

	格式:字段名 类型 not null

@【默认值】–<可以设置某个字段的默认值>

	格式:字段名 类型 deafult'默认的内容'

@【表关系】
[constraint ] foreign references
a).外键约束–创建表时–[CONSTRAINT] [外键约束名称] FOREIGN KEY(外键字段名) REFERENCES 主表名(主键字段名)

b).外键约束–修改表时–ALTER TABLE 从表 ADD [CONSTRAINT] [外键约束名称] FOREIGN KEY (外键字段名) REFERENCES 主表(主键字段名);

c).删除外键约束:ALTER TABLE 从表 drop foreign key 外键名称;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值