MySQL 必知必会 读书笔记 第三章 (使用MySQL)

关于sql语句的大小写问题,本身是不区分大小写的,但是为了便于阅读,关键字最好还是全采用大写的形式。
但是 标识符(数据库名,表名。。)是区分大小写的

第三章 (使用MySQL)

连接MySQl

mysql -u 用户名 -p 密码		# -u 指用户名	-p 指密码, 应该还可以设置其他信息吧
show database; 		# 显示所有的数据库
use 数据库名称;	 #打开某数据库

show

show tables; 	# 显示数据库中所有表
show columns from 表名;	# 显示该表的表列

mysql 0点之前前后_mysql


显示了表列的字段,与之对应的数据类型,值是否可以为NULL,键信息(该列是否为主键或其他键),默认值( ?? ),以及其他信息(extra)

关于cust_id表列的其他信息 auto_increment, 是自动增量的意思,因为该表列为主键,是以id的形式来设置的,通过设置 auto_increment 就可以在添加行的时候自动的为每个行分配id了。

show status;	# 显示服务器状态信息
show create database 数据库名;  	# 显示创建数据库的MySQL语句
show create table 表名;					# 显示创建表的MySQL语句
show grants for 用户名@host名;		# 显示用户的权限
show errors;									# 显示报错信息


第四章(检索数据)

SELECT是用的最多的sql语句了

SELECT 检索表列

SELECT 列名1,列名2,.. FROM 表名 	# 列名间用逗号分割
SELECT * FROM 表名			# 使用通配符(*)检索所有列 		(不推荐使用)

检索不同 的行

在检索有些表列的时候,重复项很多,若只想要不同的值的话就需要使用DISTINCT关键字

SELECT DISTINCT 列名 FROM表名;

SELECT vend_id FROM products;

mysql 0点之前前后_数据库_02

SELECT DISTINCT vend_id FROM products;

mysql 0点之前前后_数据库_03

但是,在检索多个表列的时候,使用DISTINCT关键字是会对所有表列起作用的
比如:

SELECT DISTINCT vend_id,prod_price FROM products;

mysql 0点之前前后_数据库_04

是会保证每个表列的值显示完全的前提下,再去考虑不重复的,在此例中,vend_id只有5个值,而prod_price的值更多,所以vend_id表列就依然会显示几个重复值的。

检索部分

SELECT 列名 FROM 表名 LIMIT 数字;		# 表示 检索前5行
SELECT 列名 FROM 表名 LIMIT 3,2			# 表示从第3行开始检索2行	//行号从0开始
SELECT 列名 FROM 表名 LIMIT 2 OFFSET 3  # 同上,这两种都可以,但这种语义更明确一些

完全限定名

like 名称空间.类.方法
数据库.表名.列名 这种完全限定的名是被允许的。