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加密比较常用 -
- MySql数据库基础二
- MySQL数据库基础(二)
- MySQL/Oracle数据库的基础(二)
- MySQL数据库基础回顾与总结(二)
- MySQL核心基础(二)之数据库基本操作
- MySQL基础(二)数据库、表的创建及操作
- MySQL基础(二)创建数据库及插入数据
- 数据库基础(二)
- 数据库基础(二)
- 数据库基础二
- oracle数据库基础二
- 数据库基础<二>关系数据库
- MySQL基础(二)
- MySQL 基础(二)
- mysql基础(二)
- mysql基础(二)
- mysql基础(二)
- MySQL基础(二)
- linux 下怎么设置终端快捷键
- Java中字段、属性、成员变量、局部变量、实例变量、静态变量、类变量、常量
- 字符流中第一个不重复的字符
- 【JZOJ5332】【NOIP2017提高A组模拟8.23】密码
- 个人总结2
- MySQL数据库基础(二)
- 哎呦不错哦!
- 国际电子邮件协会判定垃圾邮件规则
- python测试函数
- 例3-2 用振幅为0.8的方波进行傅里叶分析,并用傅里叶分析得到的系数求解当K为不同值时的合成图。
- 389. Find the Difference
- 网络流建模(一)
- 74. Search a 2D Matrix
- 学习图片格式