MySQL数据库基础(二)

来源:互联网 发布:行知学校 编辑:程序博客网 时间:2024/04/29 18:27

基本MySQL语句及某些注意事项

1.查询
SELECT 字段列表 FROM 表名;

2.添加记录
INSERT INTO 表名(字段列表) VALUES(字段列表)
注意:
(1)如果表明后不写字段列表,默认会添加所有的列表,不过不推荐,因为如果以后要拓展会很困难
(2)两个字段列表必须一一对应
(3)如果是自增字段,可以不在字段列表中存在

3.更新
UPDATE 表名 SET 字段名=”” WHERE 条件
注意:
如果UPDATE没有写条件,那么一定要慎重

4.删除表中数据
DELETE FROM 表名 WHERE 条件
注意:
(1)即使删除数据,但是数据库会记住之前数据插入到第几个
(2)如果DELETE没有写条件,那么一定要慎重

5.删除表
DROP 表名

6.函数
CREATE 函数名(传入参数 参数类型)
RETURNS 返回值类型
BEGIN
DECLARE 变量名 变量类型,
SET 变量名=变量值
RETURN 返回值
END
引用函数示例:
SELECT 函数名(参数)

7.去重
关键字为DISTINCT
SELECT DISTINCT

8.分组
GROUP BY
WHERE 条件1 GROUP BY HAVING 条件2
条件1和条件2的区别是,判断时间不同,条件1是在分组前判断,条件2是在分组之后判断

9.索引
CREATE INDEX 索引名 ON 表名(字段名)
- 优点:提高了查询的速度
- 缺点:增大了数据库的容量,降低了增删改的性能

like支持情况:   %在要查询的字段前,不支持   %在要查询的字段后,支持
  • 索引规则:
  • (1)尽量使用NOT NULL的字段
  • (2)尽量使用简单的数据类型,例如int

10.模糊查询
LIKE “%a_”
NOT LIKE“%a_”
%为通配符
a_为占位符

11.字段插入删除
ALTER TABLE 表名 ADD 字段定义;
ALTER TABLE 表名 DROP 字段定义;

12.连接查询
SELECT C.SNO,T.SNAME
FROM Student AS C LEFT JOIN Student AS T
ON C.SNO=T.SNO
WHERE C.SNO=(SELECT SNO FROM SC WHERE SCORE<60)

13.子查询
SELECT C.SNO,(SELECT …)
FROM STUDENT AS C
子查询一般都要见别名,因为易于区分
子查询用一次最好,如果用多了效率不如连接查询

14.散项

  • 在互联网项目中,可以适当违反第三范式,这样子可以减少查询数据库的次数,缓解数据库的压力,具体实施方式可以将另一个表要查询的字段放进要查询的表里
  • 日期类型一定不要用字符存储,这样子会造成使用不便
  • 图片等文件不直接使用字符流的方式存在数据库中,存的都是它们的目录
  • 10w条记录以下一般不用索引
  • 索引一定要控制数量,不是越多越好
  • 视图其实就是一条MySQL语句
  • MD5密码加密基本已经废弃
  • BASE64加密比较常用
  • -
原创粉丝点击