MYSQL二级复习笔记

来源:互联网 发布:igraph python 编辑:程序博客网 时间:2024/05/21 17:29

————考完试,例常整理笔记,考试中选择题遇到了栈和集的内容,复习的时候没有遇到,如果有也要考的朋友记得复习哟。

一、Mysql基本函数

1.聚合函数COUNT( )

SUM( )

AVG( )

MAX( )

MIN( )

2.数学函数ABS

FLOOR

RAND

SQRT

TRUNCATE(X,Y)

ROUND(X,Y)

3.字符串函数UPPER、UCASE

LEFT(s,n)

SUBSTRING(s,n,len)

4.日期和时间函数CURDATE()、CURRENT_DATE()

CURTIME()、CURRENT_TIME()

二、数据定义

1.创建数据库

CREATE DATABASE [IF NOT EXISTS] db_name

[[DEFAULT] CHARACTER SET[=] charset_name

[DEFAULT] COLLATE[=] collation_name];

2.修改数据库

ALTER DATABASE db_name

[DEFAULT] CHARACTER SET[=] charset_name

[DEFAULT] COLLATE[=] collation_name;

3.删除数据库

DROP DARABASE [IF EXISTS] db_name;

4.定义表

CREATE TABLE tbl_name

(字段名1 数据类型[列级完整性约束条件][默认值]

[,字段名2 数据类型[列级完整性约束条件][默认值]]

[,......]

[,表级完整性约束条件]

)[ENGINE=引擎类型];

5.查看表

SHOW TABLES [{FROM} IN} db_name];

SHOW COLUMNS {FROM} IN} tb_name [{FROM} IN} db_name];

{DESCRIBE|DESC} tb_name;

SHOW CREATE TABLE tb_name;

6.修改表

ALTER TABLE tb_name ADD[COLUMN] 新字段名 数据类型

[约束条件][FIRST|AFTER已有字段名](约束位置)

ALTER TABLE tb_name CHANGE COLUMN 原字段名 新字段名 数据类型[约束条件];

ALTER ..............ALTER COLUMN 字段名 {set|drop}DEFAULT(用于修改默认值);

ALTER ..............MODIFY COLUMN 字段名 数据类型 [约束条件] [FIRST|AFTER 字段];

ALTER ..............DROP COLUMN 字段名;

ALTER TABLE 原表名 RENAME TO 新表名;

7.定义实体完整性

①主键约束(单主键,复合主键不包含多余列)

列级完整性约束

表级完整性约束

②完整性约束命名

CONSTRAINT <symbol>

{PRIMARY KEY(主键字段列表)

|UNIQUE(候选字段列表)

|FOREIGN KEY(外键字段列表)

|CHECK(约束条件表达式)

③候选键约束

8.定义参照完整性

列级完整性约束方式classNo CHAR(6) REFERENCES tb_class(classNo);

表级完整性约束方式CONSTRAINT FK_student FOREIGN KEY(classNo) REFERENCE tb_class(classNo)

9.用户定义完整性

设置非空约束 NOT NULL

CHECK 约束

10.更新完整性约束

删除ALTER TABLE tb_name DROP FOREIGN KEY <外键约束名>;

ALTER TABLE <表名> DROP PRIMARY KEY;

ALTER TABLE <表名> DROP INDEX className;

②添加ALTER TABLE tb_student ADD CONSTRAINT PK_student PRIMARY KEY(studentNo);

ALTER TABLE tb_student ADD CONSTRAINT UQ_student UNIQUE KEY(studentNo);

三、数据查询

1.SELECTSELECT [ALL|DINSTINCT] 目标列表达式 FROM <表名或视图名>

[WHERE <条件表达式>]

[GROUP BY<列名1>[HAVING <条件表达式>]

[ORDET BY<列名2>[ASC|DESC]]

      [LIMIT [m,],n];

2.EXISTS双重否定句

查询选修了所有课程的学生姓名

SELECT studentName FROM tb_student X

WHERE NOT EXISTS

(SELECT * FROM tb_cousrse C

WHERE NOT EXISTS

(SELECT * FROM tb_score

WHERE studentNo=X.studentNo

AND courseNo=C.courseNo));

四、数据更新

1.插入数据

INSERT INTO tb_name(column_list) VALUES(value_list1),(value_list2),.....;

2.插入查询结果

INSERT INTO tb_name1(column_list1) SELECT (column_list2) FROM tb_name2 WHERE(condition);

3.REPALCE替换已有同名主键

REPLACE INTO tb_name(column_list) VALUES(value_list);

4.修改数据记录

UPDATE tb_name SET column1=value1,...[WHERE<conditon>];

5.删除

DELETE FROM tb_name[WHERE<condition>];

TRUNCATE[table] tb)name;

五、索引

1.普通索引 INDEX、KEY

唯一性索引 UNIQUE

主键索引 PRIMARY KEY

聚簇索引

全文索引 FULLTEXT 只能创建在varchar、text

2.单例索引

组合索引

3.创建索引

①创建普通索引

CREATE INDEX index_stu ON db_school.tb_student(studentNo);

②创建基于字段值前缀字符的索引

CREATE INDEX index_course ON db_school.tb_course(courseName(3) DESC);

③创建组合索引

CREATE INDEX index_book ON db_school.tb_book(bcalssNo,bookName DESC);

④添加

ALTER TABLE db_school.tb_student1 ADD INDEX idx_studentName(studentName);

六、视图

1.创建视图

CREATE[OR REPLACE] VIEW view_name[(column_list)]

AS SELECT_statement

[WITH[CASCADED|LOCAL] CHECK OPTION]

2.修改视图

ALTER VIEW view_name[(column_list)]

AS select_statement

[WITH[CASCADED|LOCAL] CHECK OPTION];

七、触发器

1.创建触发器

CREATE TRIGGER trigger_name trigger_time trigger_event

ON tbl_name FOR EACH ROW trigger_body;

2.删除触发器

DROP TRIGGER[IF EXISTS][schema_name] trigger_name;

八、创建事件

CREATE EVENT [IF NOT EXISTS] event_name

ON SCHEDULE EVERY INTERVAL

STARTS

ENDS

[ENABLE|DISABLE|DISABLE ON SLAVE]

DO

BEGIN

END


九、错题集录


1.修改列名name为username

alter table tb_admin change column name username varchar(10)修改列名和类型

...  drop column name删除列

... modify name varchar(10)修改类型

alter table tb_admin rename tb_test修改表名


2.设置表的默认字符集关键字

alter table table_name default character set character_name;


3.if not exists


4.创建表xs的一个名为student的拷贝

create table student like xs;


5.修改表名的两种方法

alter table table_name1 rename table_name2;

rename table table_name1 to table_name2;


6.备份数据库的命令

mysqldump


7.创建事件

create event event_test

on schedule every 1 day

starts curdate() +interval 5 day

ends curdate() + interval 1 month

do truncate table test;


8.推理规则

传递函数依赖


9.游标在存储过程中的应用

游标是一个select语句检索出来的结果集,在存储了游标后,应用程序或用户就可以根据需要滚动或浏览其中数据。


10.数据库设计

需求分析,概念结构设计,逻辑结构设计,物理结构设计,数据库的实施,数据库的运行与维护


11.客户端管理工具

命令行客户端、图形化管理工具phpadmin


12.使用 select into outfile 备份数据库 db_test 中表content的全部数据到c:/backup/backupcontent.txt,要求字段如果是字符则用双引号标注,字段之间用逗号隔开,每行以问号为结束标志。

select * from content

into 'c:/backup/backupcontent.txt'

fields terminated by ','

optionally enclosed by'"'

lines terminated by '?';


13.delete from table_name where ...;


14.SQL语言又称结构化查询语言


15.数据库系统的核心是数据库管理系统


16.现实世界中事物的特征在实体-联系模型中使用属性描述


17.使用truncate删除表中记录

truncate table table_name


18.插入数据

insert into table_name(field1,field2,...) values(value1,value2,...);


19.创建账户并授权

create user 'mrsoft' indetified by 'mr';

grant select on sxcj.* to 'mrsoft';


20.修改表格数据

update table_name set salary=5000;

set salary=salary+100;


21.mysql所支持的触发器有select、delete、update


22.数据库系统三级模式结构;概念模式、外模式、内模式


23.php Hypertext preprocessor超级文本预处理缩写,是一种html内嵌式语言,是一种在服务器端执行的嵌入式

html文档的脚本语言,类似C语言被广泛运用。


24.PHP进行mysql数据库编程的基本步骤

(1)建立与mysql数据库服务器的连接

(2)选择要对其进行操作的数据库

(3)再执行相应的数据库操作,包括对数据的添加、删除、修改、查询


25.创建过程

delimiter //

create procedure procedure_email(in user_name varchar(50),in e_mail varchar(50))

begin

update content set email=e_mail where username=user_name;

end//


26.ignore关键字即使在更新过程中出现错误,更新语句也不会中断。


27.事件就是需要在指定的时刻才被执行的某些特定任务,通常是一些确定的SQL语句。

事件作用:事件可以根据需要在指定的时刻被事件调度器调用执行,并以此可取代原先只能由操作系统的计划任务来执行的工作。

事件和触发器的区别:两者都是在某些事情发生的时候才被启动,因此时间也称作临时触发器。其中事件是基于特定时间周期触发,触发器是基于某个表所产生的事件触发、


28.

create event e_test

on schedule every 1 month

starts curdate()+interval 1 month

ends '2019-12-31'

do 

begin

if yeat(curdate())<2013 then

delete from content

where username='s';

end if;

end//

29.触发器

create trigger content_delete_trigger after delete

on content for each row set str='old content delete!';


30.mysql支持关系模型中的实体完整性、参照完整性、用户定义完整性三种不同的完整性约束。


31.筛选含有某字符发信息

select * from table_name where s_name like '%j%';


32.数据库系统的核心和基础是数据模型


33.E-R图提供了表示信息世界中实体、属性和联系的方法


34.数据库系统的运行与应用结构有客户/服务器(C/S)和浏览器/服务器(B/S)


35.外模式与内模式之间的映射实现了数据库的逻辑独立性


36.ER图(Entity Relationship Digram)实体联系图

矩形框:实体名   椭圆:属性     菱形:实体间联系


37.数据库。数据库管理系统与操作数据库的应用程序,加上支撑它们的硬件平台、软件平台与数据库有关的人员一起构成了一个完整的数据库系统。


38.查询条件:姓名不是null的jilu


39.建立主键的三种方法

(1)id int primary key

(2)id int,

 ... 

primary key(id)

(3)alter table table_name add constraint pk_name primary key(id)


40.正则表达式 regexp

41.设置外键能够实现实体完整性


42.使用distinct关键字可以把重复行屏蔽


43.having 可以从group by分组的结果中再次使用条件表示式进行筛选

select region from table group by region having area>100


44.为数据表创建索引的目的是提高查询的检索性能


45.格式化日期的函数是提高查询的检索性能


46.sql语言是非过程化语言


47.between 20 and 30 包括20和30


48.sql语言四大类

(1)数据库查询语言DQL select 

(2)数据库操纵语言DML update insert delete

(3)数据库定义语言DDL create table/view/index/syn/cluster

(4)数据库控制语言DCL grant/rollback/commit


49.正则表达式的转义符是\


50.关系数据库中,主键是为标识表中唯一的实体


51.试图是一种常用的数据对象,它是提供查看和存放数据的另一种途径


52.逻辑运算符优先级排列 not/and/or

53.数据表结构:字段、类型、主键、外键、索引


54.数据库系统中有:层次模型、网状模型、关系模型


55.优先级 算术>比较>逻辑


56.事物特性:独立性、持久性、原子性、一致性


57.执行结尾 \g \G \;

58.select 通配符

(1)--a 第三个字符是a且仅有三个字符

(2)--a% 第三个字符是a

(3)[2-4]% 第一位为2或者4

(4)[^ACD]第一个字符不是ACD


59.当所查询的表不在当前数据库时,可用数据库,所有者名称,对象名称格式来指出表或者视图对象。


60.当某字段要适用auto_increment属性,该字段必须是int类型,还必须是关键字段或索引字段。


61.在select语句的from字句中最多可以指定256个表或者视图


62.ODBC是一种开放式数据库连接


63.在insert触发器中,可以引用一个名为new虚拟表,访问被插入行。

     在delete触发器中,可以引用一个名为old虚拟表,访问被删除行。


64.存储过程是一组预先定义并编译的transact sql语句


65.数据库信息运行安全采取的主措施有

风险分析、审计跟踪、备份与恢复、应急


66.将student表中的结构(索引和主键)和数据复制到一个新的student1表中

create table student1 like student;

insert into student1 select * from student;


67.set names gb2312;


68.内连接 select 目标1,目标2

from table1 inner join table2

on  连接条件

where 过滤条件

select 目标1,目标2

from table1,table2

where 连接条件

and 过滤条件

    交叉连接select * from table1 cross table2

select * from table1,table2

    外连接select 目标1,目标2,...,目标N

from table1,table2 left outer join table3,table4

on 连接条件