《深入浅出MySQL》问答录(一)

在这里插入图片描述

本系列出自《深入浅出MySQL》,全文以问答形式展开,是我的个人学习笔记。

文章目录

问答录

Q:如果我只有一张白表,我为什么还要创建数据库?

A:SQL语言要求所有的表都放在数据库中,这当然有它的理由。SQL能控制多位用户同时访问表的行为,能够授予或撤销对整个数据库的访问权,这有时比控制每张表的权限要简单的多。


Q:我发现CREATE DATABASE 命令的字母全是大写,一定要这样吗?

A:有些系统确实要求某些关键字采用大写形式,但SQL本身不区分大小写。也就是说,命令不大小写也可以,但命令大小写是良好的SQL编程惯例。
大写让我们很容易分辨命令与数据库名称。


Q:给数据库、表和列命名时有什么注意事项吗?

A:创建具有描述性的名称通常有不错的效果。有时候要多用几个单词来命名。所有名称都不能包含空格,所以使用下划线能够让你创建更具描述性的名称。
命名时最好避免首字母大写,因为SQL不区分大小写,极可能会搞错数据库。


Q:为什么不能直接把BLOB当成所有文本值的类型?

A:因为这样很浪费空间。VARCHAR或CHAR只会占用特定空间,不会多于256个字符。但BLOB需要很大的存储空间。
另外,有些重要的字符串运算无法操作BLOB类型的数据,只能用于VARCHAR或CHAR。


Q:NULL是什么都没有的意思吗?
A:当然不是!! 它从来就不等于0。而且它也不等于另一个NULL,事实上,两个NULL根本不能放在一起比较。值可以是NULL,但是它不会等于NULL,因为NULL代表未定义的值!

花絮

  1. DEC(6,2):六位数,其中小数点后两位数。
  2. DATATIME(时间和日期):10:30 a.m. 4/12/2020
  3. 如果想查看表的数据结构,可以使用DESC语句
  4. DRAP TABLE 语句可以用于丢弃表,谨慎使用!
  5. 为表插入数据时,可以使用任何一种INSERT语句。
  6. NULL是未定义的值。它不等于0,也不是空值。值可以是NULL,但绝非等于NULL。
  7. 没有在INSERT语句中被赋值的列默认为NULL。
  8. 可以把列修改为不使用NULL,这需要在创建表时使用关键字NOT NULL。
  9. 创建表时使用DEFAULT,可于日后输入缺乏部分数据的记录时自动的填入默认值。

猜你喜欢

转载自blog.csdn.net/qq_43762191/article/details/107489489