尚华堂035天+MySQL

035天

行百里者半九十,想要在一个行业里成为顶尖人才,一定满足一万小时定律,要想学好JAVA,需要持之以恒不断地努力,每天都要勤思考+善于询问+解决问题!

知识温故而知新>>>>>> 

外连接与内连接和交叉连接和自连接的分类

MySQL表的约束

MySQL中表的约束有哪几种?

• 非空约束(notnull)

• 唯一性约束(unique)

• 主键约束(primarykey) PK

• 外键约束(foreign key)FK

• 检查约束(目前 MySQL 不支持、Oracle 支持)

如何查询表的约束信息?

SHOW KEYS FROM 表名

如何在创建表时添加主键约束,非空约束,唯一约束,检查约束和外键约束,请举例说明

--添加主键约束

ALTER TABLE 表名 ADD PRIMARY KEY(列名)

--添加非空约束

ALTER TABLE 表名 MODIFY 列名 类型 NOT NULL

--添加唯一约束

ALTER TABLE 表名 ADD CONSTRAINT 约束名 UNIQUE(列名)

--添加外键约束

ALTER TABLE 表 名 ADD CONSTRAINT 约 束 名 FOREIGN KEY( 列 名 ) REFERENCES 参照的表名(参照的列名)

如何修改表实现约束的添加与删除

--删除主键约束

ALTER TABLE 表名 DROP PRIMARYKEY

注意:删除主键时,如果主键列具备自动增长能力,需要先去掉自动增长,然后在删除 主键。

--删除非空约束

ALTER TABLE 表名 MODIFY 列名 类型 NULL

--删除唯一约束

ALTER TABLE 表名 DROPKEY 约束名

--删除外键

ALTER TABLE 表名 DROP FOREIGN KEY 约束名

--删除外键索引(索引名与约束名相同)

ALTER TABLE 表名 DROP INDEX 索引名

MySQL 中的 DML 操作

请描述插入语句的语法,并举例说明

INSERT INTO 表名(列名 1,列名 2,列名 3.....)VALUES(值 1,值 2,值 3......)

insert into sum001(id,name) values (11,'中国')

MySQL中自动增长使用什么关键字,自动增长类型有哪些要求?

关键字:auto_increment

• 一个表中只能有一个列为自动增长。

• 自动增长的列的类型必须是整数类型。

• 自动增长只能添加到具备主键约束与唯一性约束的列上。

• 删除主键约束或唯一性约束,如果该列拥有自动增长能力,则需要先去掉自动增长然 后在删除约束。

创建表时如何指定默认值?插入数据时如何对默认值进行处理?

create table emp3(emp_id int primarykey auto_increment,name varchar(30),

address varchar(50) default'Unknown');

如果在插入数据时并未指定该列(已经指定默认值的列)的值,那么 MySQL 会将默认值添加到该列中。

请描述更新语句的语法,并举例说明

UPDATE 表名 SET 列名=值,列名=值 WHERE 条件

update sum001 id=999 where name='中国'

请描述删除语句的语法,并举例说明

DELETE FROM 表名 WHERE 条件

delete fromsum001 where name='中国'

DELETE 与 TRUNCATE 区别

•truncate 是整体删除(速度较快), delete 是逐条删除(速度较慢);

•truncate 不写服务器 log,delete 写服务器 log,也就是 truncate 效率比 delete 高的原因;

• truncate 是会重置自增值,相当于自增列会被置为初始值,又重新从 1 开始记录,而 不是接着原来的值。而 delete 删除以后,自增值仍然会继续累加。

MySQL 中的事务处理

MySQL在默认的情况下事务是否自动提交?如何关闭 MySQL 的事务自动提交?

是自动提交,执行start transaction命令即可

MySQL 查询数据

描述MySQL的列选择的基本语法

SELECT*| 投影列 FROM 表名

描述MySQL的行选择的基本语法

SELECT*| 投影列 FROM 表名 WHERE 选择条件

MySQL如何为列起别名?

SELECT 列名 AS 列别名 FROM 表名 WHERE 条件

MySQL中如何去除重复?

在 SELECT 语句中用 DISTINCT 关键字除去相同的行。

查询 employees 表,显示唯一的部门 ID。

select distinct dept_id from employees;

MySQL模糊查询使用什么关键字,常用的通配符有那些?

•like

•%表示任意多个任意字符

•_表示一个任意字符

范围查找中between...and和in有什么区别

between...and :在一个连续的范围内

in 在一个非连续的范围内

MySQL如何做空值判断?

• 判断空 isnull • 判断非空 isnotnull

排序使用什么关键字,默认是升序还是降序?

• 用 ORDERBY 子句排序 •ASC: 升序排序,默认 •DESC: 降序排序

MySQL 常用单行函数

描述常用的日期函数

SYSDATE() 或者 NOW() 返回当前系统时间,格式为 YYYY-MM-DDhh-mm-ss

CURDATE() 返回系统当前日期,不返回时间

CURTIME() 返回当前系统中的时间,不返回日期

DAYOFMONTH(date) 计算日期 d 是本月的第几天

DAYOFWEEK(date) 日期 d 今天是星期几,1 星期日,2 星期一,以此类推

DAYOFYEAR(date) 返回指定年份的天数

DAYNAME(date) 返回 date 日期是星期几

LAST_DAY(date) 返回 date 日期当月的最后一天

描述常用的转换函数

DATE_FORMAT(date,format) 将日期转换成字符串(类似 oracle 中的 to_char())

STR_TO_DATE(str,format) 将字符串转换成日期(类似 oracle 中的 to_date()

MySQL 多表查询

描述什么是等值连接,并举例说明

等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

select * from student inner join score on student.Num=score.Stu_id;

描述什么是非等值连接,并举例说明

不等值连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!& lt;和<>。

select em.last_name,from employees em ,job j gr where em.salary between j.lowest_sal and j.highest_sal;

描述什么是自连接,并举例说明

select worker.last_name,manager.last_name from employees worker,

employees manager where worker.manager_id = manager.employee_id;

描述什么是内连接,并举例说明

内连接 (多表连接)

等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。

不等值连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!& lt;和<>。

自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。

外连接常见有哪些几种?

外连接(多表连接)

1.左连接  left join 或 left outer join

SQL语句:

select * from student left join score on student.Num=score.Stu_id;

2.右连接  right join 或 right outer join

SQL语句:

select * from student right join score on student.Num=score.Stu_id;

3.完全外连接  full join 或 full outer join

SQL语句:

select * from student full join score on student.Num=score.Stu_id;

4.自然连接 natural join

SQL语句:

Select emp.ename,dept.dname from emp natural join dept;

相当于:Select emp.ename,dept.dname from emp join dept

on emp.deptno = dept.deptno;

MySQL 聚合函数

MySQL聚合函数有哪几种?分别描述其功能。

1AVG(arg)函数

对分组数据做平均值运算。 arg:参数类型只能是数字类型。

2SUM(arg)函数

对分组数据求和。 arg:参数类型只能是数字类型。

3MIN(arg)函数

求分组中最小数据。 arg:参数类型可以是字符、数字、日期。

4MAX(arg)函数

求分组中最大数据。 arg:参数类型可以是字符、数字、日期。

5COUNT 函数

返回一个表中的行数。

COUNT 函数有三种格式: •COUNT(*) •COUNT(expr) •COUNT(DISTINCTexpr)

MySQL 数据分组

MySQL中如何创建数据分组?

--计算每个部门的平均薪水

selectavg(e.salary)fromemployeesegroupbye.department_id

MySQL中如何约束分组结果?

--约束分组结果(HAVING)

--显示那些最高薪水大于 5000 的部门的部门号和最高薪水

select e.department_id,max(e.salary) from employees e

group by e.department_id HAVING MAX(e.salary)>5000

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容

  • 手动不易,转发请注明出处 --Trance 数据库系统命令: (1).查看存储过程状态:show pro...
    Trance_b54c阅读 1,657评论 0 8
  • 什么是数据库? 数据库是存储数据的集合的单独的应用程序。每个数据库具有一个或多个不同的API,用于创建,访问,管理...
    chen_000阅读 4,034评论 0 19
  • 启动/停止/重启MySQL服务 启动MySQL服务: mysql.server start 停止MySQL服务:...
    _Sisyphus阅读 544评论 1 2
  • ORACLE自学教程 --create tabletestone ( id number, --序号usernam...
    落叶寂聊阅读 1,074评论 0 0
  • 美国正品! 支持蓝牙! 支持fm! 支持USB! 支持外接音源! 内置电池,可充电! 可设置时间! 可查看电量! ...
    乌龟的慢生活阅读 221评论 0 0