1.truncate 和delect 区别 2.substr 和 substring 有何不同 3.Page页16kb是否可以修改4.严格模式5.了解MySQL触发器和存储过程

1.DDL: (data definition language)数据定义语言,主要用于创建数据库对象。
2.DML: (data manipulation language)数据操纵语言,主要用于操纵数据库对象。
3.DCL:(Data Control Language)数据控制语言,主要用于设置或更改数据库用户或角色权限的语句。

1.truncate 和delect 区别

truncate:用法:truncate tblname
truncate 拥有高性能,他直接绕过了dml中的删除,所以他被定义为ddl语句。
个人理解:trunctate 直接创建了一个格式和原表名一模一样的表并将其覆盖。

delete: 用法: delete from 表名 where 条件表达式
性能没有truncate高,多用于删除指定记录,where语句缺省时删除表中所有记录。

2.substr 和 substring 有何不同

一、substr() 方法
语法:substr(start,length)
在字符串中抽取从 start 下标开始的指定数目的字符。
(1)start,提取字符的位置。如果为负值,则被看作 str.Length + start,其中 str.Length 为字符串的长度(例如,如果 start 为 -3,则被看作 strLength + (-3))。
(2)length,可选可不选。选择则输入要提取的字符数,不选就是全部。
在这里插入图片描述
substring()方法
语法:str.substring(indexStart[, indexEnd])
(1)indexStart为需要截取的第一个字符的索引,该索引位置的字符作为返回的字符串的首字母
(2)indexEnd,可选。一个 0 到字符串长度之间的整数,以该数字为索引的字符不包含在截取的字符串内。
在这里插入图片描述

3.Page页16kb是否可以修改

在安装前是可以通过源码修改的,安装后是修改不了的

4.严格模式,导致MySQL5.7插入用户表的方式新建用户失败,如何修改严格模式,让他插入成功?

vi /etc/my.cnf #编辑mysql配置文件

搜索sql-mode关键字。注释

sql-mode相关语句

#sql-mode=NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTIO

service mysqld restart 重启mysql

5.了解MySQL触发器和存储过程

mysql触发器:触发器是由 事件来触发 某个操作,这些事件包括 INSERT 、 UPDATE 、 DELETE 事件。所谓事件就是指用户的动作或者触发某项行为。如果定义了触发程序,当数据库执行这些语句时候,就相当于事件发生了,就会 自动 激发触发器执行相应的操作。

CREATE TRIGGER 触发器名称 
{BEFORE|AFTER} {INSERT|UPDATE|DELETE} ON 
表名 FOR EACH ROW 
触发器执行的语句块;

具体创建的触发器:
在这里插入图片描述
删除触发器
触发器也是数据库对象,删除触发器也用DROP语句,语法格式如下:

DROP TRIGGER IF EXISTS 触发器名称;

存储过程:存储过程是一个编译后的SQL脚本集合,但不能在SQL语句中调用,只能单独使用
存储过程优点:1.编译过的SQL脚本,执行速度非常快
2.实现了SQL编程,降低了锁表时间和缩表范围
3.对外封装了表结构,提高了数据库的安全性

DELIMITER $$

CREATE
    /*[DEFINER = { user | CURRENT_USER }]*/
    PROCEDURE 数据库名.存储过程名([in变量名 类型,out 参数 2...])
    /*LANGUAGE SQL
    | [NOT] DETERMINISTIC
    | { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }
    | SQL SECURITY { DEFINER | INVOKER }
    | COMMENT 'string'*/
	BEGIN
		[DECLARE 变量名 类型 [DEFAULT 值];]
		存储过程的语句块;
	END$$

DELIMITER ;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值