day1

1.使用create table语句的(fulltext)子句,在创建基本表时可以启用全文本搜索

2.删除一列:alter table emp drop column addcolumn

3.查找表结构:DESC

4.在视图上不能完成的操作是(D)

A.查询   B.在视图上定义新的视图   C.更新视图   D.在视图上定义新的表

 

day2

1.从group by分组的结果集中再次用条件表达式进行筛选的子句是(having)

1.查询中用到的bai关键词主要包含六个,并且他们的du顺序依次为
select--from--where--group by--having--order by
其中select和from是必须zhi的,其他关键词是dao可选的,这六个关键词的执行顺序
与sql语句的书写顺序并不是一样的,而是按照下面的顺序来执行
from--where--group by--having--select--order by,
from:需要从哪个数据表检索数据
where:过滤表中数据的条件
group by:如何将上面过滤出的数据分组
having:对上面已经分组的数据进行过滤的条件
select:查看结果集中的哪个列,或列的计算结果
order by :按照什么样的顺序来查看返回的数据
2.from后面的表关联,是自右向左解析的
而where条件的解析顺序是自下而上的。
也就是说,在写SQL文的时候,尽量把数据量大的表放在最右边来进行关联,
而把能筛选出大量数据的条件放在where语句的最下面。

2.表达式降序排列是DESC,升序排列是ASC

升序:select * from 表名 order by 表中的字段 asc(MySQL中默认是升序排列,可不写) ;
降序:select * from 表名 order by 表中的字段 desc ;

3.条件“between 20 and 30”表示年龄在20-30之间,且包含20岁和30岁;

表示时间则有所不同:

MySQL本身是包含右边界的,如果是datetime,数据格式则会被转换为:2018-10-01 00:00:00,数据类型本身是date则不会出现上述问题。

SELECT * FROM userinfo WHERE xm='xiaoming' and datetime BETWEEN'2020-01-01' and '2020-01-31'

这种写法 查询出来的数据并不会包括 2020-1-31 日的数据,因为MySQL对日期的查询是默认“00:00:00”,所以上面的时间区间实际为:2020-01-01:00:00:00——2020-01-31:00:00:00,31日当天的数据是不在区间内的,所以查询不到。

解决方法:

1,把日期往后推一天,2018-10-01 - 2018-11-01
2,把右边界的时间精确到边界,2018-10-01 - 2018-10-31 23:59:59

补充:

以上问题只会在字段类型为‘DateTime’中会出现

4.DML操作:insert、update、delete

 

day3

1.关系数据库中,主键是(标识表中唯一的实体)

2.使用select语句随机的从表中挑出指定数量的行,可以使用的方法是(在order by子句中使用rand()函数,并用limit子句定义行数)

3.MySQL主从架构如下:

主 192.168.1.1   从 192.168.1.2

需要在从库上采用mysqldump备份并记录主库binlog、position点,需要加哪个参数(不考虑其他参数)(--dump-slave)

posted on 2020-10-15 09:29  51core  阅读(211)  评论(0编辑  收藏  举报