暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

MySQL教程二

小张的栈 2022-01-19
326

本文主要内容有:

1.运算符

2.流程控制语句

3.插入、修改、删除表数据


一、运算符

1.算术运算符

符号
作用
+ - * /
加减乘除四则运算
%
整除求余
DIV
除法运算,同“/”
MOD
求余运算,返回余数,同“%”

进行除法和求余运算时,x2参数为0时,计算结果为空值。

2.比较运算符

运算符
说明
=,>,<,>=,<=
等于,大于,小于,大于等于,小于等于
!=或<>
不等于

IS NULL或

IS NOT NULL

空值或非空值
BETWEEN AND
包含临界值

IN或NOT IN

判断在不在集合里面

LIKE或

NOT LIKE

模式匹配
REGEXP常规表达式,使用方法:[属性值  正则表达式]

一些使用举例:

select x is NULL from table; //为空值返回1,不为空返回值0
x1 BETWEEN m AND n//如果x1大于等于m且小于等于n,结果返回1
x1 IN(值1,值2,值3...)//判断是否在一个集合里
x1 LIKE 's1'//查找匹配的字符串
x1 REGEXP '匹配方式'//以指定方式指定字符串开头、结尾,以及包含字符串
复制

REGEXP通常和$, . ,^,一起使用

选择db_0数据库中的tb_0数据表,'^m'判断是否以m开头,'g$'判断是否以g字符结尾,'m'是否包含m

3.逻辑运算符

符号
作用
&&或AND
||或OR

!或NOT

XOR
异或

4.位运算符

&按位与,|按位或,~按位取反,

^按位异或,<<按位左移,>>按位右移

5.运算符优先级

!>~>^>算术运算符>比较运算符>逻辑运算符

二、流程控制语句

<由于这一部分还没有学明白,只有语法规则,将在后续存储过程学习中指出>

1.IF语句

IF condition THEN
……
[ELSE condition THEN]
……
[ELSE]
……
end if
复制

2.CASE语句

CASE value
     WHEN value THEN···;
     [WHEN value THEN···;]
     [ELSE;]
END CASE;
复制

3.WHILE 循环语句

WHILE condition DO
···
END WHILE;
//调用该存储过程
call example_while(@s)
mysql>select @s//
复制

4.LOOP循环语句

LOOP
···
END LOOP;
//与LEAVEL搭配使用
LEAVEL label;
复制

5.REPEAT循环语句

REPEAT
···
UNNTIL condition
END REPEAT
//搭配使用
ITERATE label;
复制

三、插入数据

1.使用INSERT···VALUES语句插入数据

  • 插入完整数据

DESC db.tb;//查看表结构
USE db;//调用数据库
INSERT INTO tb VALUES(1,'mr','mrsoft','2014-09-05 10:25:20');
//顺序与表结构呼应
复制
  • 插入部分数据记录

USE db;
INSERT INTO tb(属性列1,属性列2)
       VALUES('值1','值2');
MySQL会对id自动编号,未指出的值赋予NULL
复制
  • 插入多条记录,在单个的基础上每个元组用逗号隔开。

2.使用INSERT···SET语句插入数据

USE DB;
INSERT INTO tb
    SET x1='值',x2='值';
复制

3.插入查询结果

DESC db.tb;
SELECT*FROM tb1;
INSERT INTO db.tb2
      (列1,列2)
      SELECT 列A,列B FROM tb1;
复制

四、修改数据

UPDATE db.tb SET 修改列='修改值' WHERE 条件列='条件值';
复制

五、删除数据

1.通过DELETE语句删除数据

USE db;
DELETE FROM tb WHERE 条件列名='条件值';
复制

2.通过TRUNCATE TABLE语句删除数据

TRUNCATE[TABLE] 数据表名;
eg:TRUNCATE TABLE db.tb;
复制

3.区别与注意事项

  • delete语句如果没有where条件,则删除所有记录

  • truncate  table语句会删除表中所有数据,并且无法恢复

  • 使用truncate后,表中的auto_increment计数器被重新设置初始值

  • 参与了索引和视图的表,不能使用truncte table语句进行删除

  • delete语句每删除一行都会在事务日志中添加一行记录,而truncate语句则是通过释放存储表数据来删除数据的,因此只在事务日志中记录页的释放。



文章转载自小张的栈,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论