MySQL-MySQL必知必会摘要1

本文详细讲解了数据库管理系统(DBMS)的概念,如MySQL的使用,表的命名规则、数据类型、主键管理、SQL查询基础(如DISTINCT、ORDER BY、IN与NOT IN)以及SQL优化技巧,包括WHERE子句和操作符优先级。
摘要由CSDN通过智能技术生成

1.数据库软件应称为DBMS(数据库管理系统)。数据库是通过DBMS创建和操纵的容器。
--我们平常说的MySQL、oracle、db2是DBMS,并不是数据库。但是不用在意这些细节。

2.数据库中的每个表都有一个名字,用来标识自己。此名字是唯一的,这表示数据库中没有其他表具有相同的名字。
--身份证号

3.每个表列都有相应的数据类型,它限制(或容许)该列中存储的数据。
--猫窝进不了狗

4.主键(primary key)①一一列(或一组列),其值能够唯一区分表中每个行。
主键的最好习惯 除MySQL强制实施的规则外,应该坚持的
几个普遍认可的最好习惯为: 
 不更新主键列中的值;
 不重用主键列的值;
 不在主键列中使用可能会更改的值。
--主键唯一不可改

5.SHOW DATABASES-返回可用数据库的一个列表
SHOW TABLES-获得一个数据库内的表的列表
SHOW COLUMNS-要求给出一个表名(这个例子中的 FROM 
customers),它对每个字段返回一行,行中包含字段名、数据
类型、是否允许NULL、键信息、默认值以及其他信息(如字段cust_id
的auto_increment)。
SHOW CREATE DATABASE和SHOW CREATE TABLE-分别用来显示创建特定数据库或表的MySQL语句

6.SELECT DISTINCT vend_id FROM products;告诉MySQL只返回不同(唯一)的vend_id行

7.检索出来的第一行为行0而不是行1。因此,LIMIT 1, 1将检索出第二行而不是第一行。
eg:SELECT * FROM vendors LIMIT 0,1;

8.数据排序不限于升序排序(从A到Z)。这只是默认的排序顺序,还可
以使用ORDER BY子句以降序(从Z到A)顺序排序。为了进行降序排序,
必须指定DESC关键字。
--这个我知道

9.单引号用来限定字符串。如果将值与串类型的列进行比较,则需要限定引号。用来与数值列进行比较的值不用引号。
--用引号总没有错

10.SELECT语句有一个特殊的WHERE子句,可用来检查具有NULL值的列。
这个WHERE子句就是IS NULL子句。

SELECT * FROM vendors WHERE vend_id IS NULL;

--呃呃呃,基本没用过

11.SQL(像多数语言一样)在处理OR操作符前,优先处理AND操作符。
任何时候使用具有AND和OR操作符的WHERE子句,都应该使用圆括号明确地分组操作符。
--不爱就是不爱,用括号括起来,要考

12.在使用长的合法选项清单时,IN操作符的语法更清楚且更直观。
 在使用IN时,计算的次序更容易管理(因为使用的操作符更少)。
 IN操作符一般比OR操作符清单执行更快。
 IN的最大优点是可以包含其他SELECT语句,使得能够更动态地建立WHERE子句。
--大神告诉我,IN的用法有要注意的地方,不过这属于SQL优化的范畴了

13.MySQL支持使用NOT对IN、BETWEEN和EXISTS子句取反,这与多数其他DBMS允许使用NOT对各种条件取反有很大的差别。

SELECT * FROM vendors WHERE vend_id NOT IN (1001,1002);

--虽然其他的不能用,但是“真香”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值