MySQL学习过程中值得注意的一些点

1.USE选择数据库

MySQL中,在对一个数据库进行操作之前需要先 USE 数据库名 选中该数据库。

2.UPDATE和DELETE时WHERE条件后要跟主键

更新和删除表记录的时候,where后没有用主键作为查询条件就会报错并且操作失败,这是因为MySQL运行在安全模式下, 变量SQL_SAFE_UPDATES 的值默认为1,此时非主键条件下无法执行update或者delete命令。
解决方法:
(1)修改变量SQL_SAFE_UPDATES = 0
(2)在where条件后添加上主键。

3.BINARY关键字

MySQL查询记录的时候是不区分大小写的,如果有需要的话就要用到BINARY关键字。
SELECT … FROM … WHERE BINARY …

4.执行完SELECT语句要及时释放游标内存

(此条还未用到,先在这里记下来)

5.UNION ALL的使用

MySQL UNION 操作符用于连接两个以上的 SELECT 语句的结果组合到一个结果集合中,默认情况下会删除重复数据。(所以 UNION DISTINCT的作用等同于UNION)
若需要将所有重复值结果选取出来,使用 UNION ALL :
SELECT 列名 FROM 表名 UNION SELECT 列名FROM 表名ORDER BY 列名;
SELECT 列名 FROM 表名UNION ALL SELECT 列名 FROM 表名 ORDER BY 列名;

6.SQL LIKE 子句中使用百分号 %字符来表示任意字符

如果不使用百分号 %, LIKE 子句与"="的效果是一样的。
LIKE 匹配示例如下:
%a :以a结尾的数据
a% :以a开头的数据
%a% :含有a的数据
_ a _ :三位且中间字母是a的
_ a:两位且结尾字母是a的
a_ :两位且开头字母是a的

7.WITH ROLLUP

可以实现在分组统计数据基础上再进行统计(SUM,AVG,COUNT…)
SELECT a, SUM(…) as … FROM … GROUP BY a WITH ROLLUP

8.关于NULL值

在 MySQL 中,NULL 值与任何其它值的比较(包括 NULL)永远返回 NULL,所以处理 NULL 使用 IS NULL 和 IS NOT NULL 运算符。
IS NULL : 当列的值是 NULL,此运算符返回 true;
IS NOT NULL : 当列的值不为 NULL, 运算符返回 true;
<=>: 比较操作符(不同于 = 运算符),当比较的的两个值相等或者都为 NULL 时返回 true;
不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。

10. ALTER 命令

(1)ALTER 命令及 DROP 子句来删除数据表的某列
ALTER TABLE 表名 DROP 列名
如果数据表中只剩余一个字段则无法使用DROP来删除。
(2)ALTER 命令及 ADD 子句向数据表中添加列
ALTER TABLE 表名 ADD 列名 INT
执行以上命令后,该列会自动添加到数据表的末尾。如果需要指定新增字段的位置,可以使用MySQL的关键字 FIRST (设定位第一列)和AFTER 字段名(设定位于某个字段之后)。例如:
ALTER TABLE 表名 ADD 列名 INT FIRST
ALTER TABLE 表名 ADD 列名 INT AFTER 已存在的某列
(3)ALTER 命令及MODIFY 或 CHANGE 子句修改字段类型及名称
MODIFY子句,如:
ALTER TABLE 表名 MODIFY i(列名) CHAR(10)
CHANGE 子句,如:
ALTER TABLE 表名 CHANGE i j BIGINT
CHANGE 子句只修改字段类型:
ALTER TABLE 表名 CHANGE j j INT

11.创建索引

基本的创建索引方式:
CREATE INDEX indexName ON 表名(列名(length))
注意:如果是CHAR,VARCHAR类型,length可以小于字段实际长度;如果是BLOB和TEXT类型,必须指定 length。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值