1.数据库,表,列,行,模式,每一列有唯一的数据类型,模式是数据库和表的布局及特性
2.满足主键的两个条件:任意两行都不具有相同的主键值,每行都必须具有主键值
3.SQL(Structured Query Languge)结构化查询语言
4.DBMS数据库管理系统,MySQL是一种DBMS,即他是一种数据库软件
DBMS可以分为两类:一类为基于共享文件系统的DBMS,一类为基于客户机-服务器的DBMS。MySQL为第二类
5.MySQL Administrator(MySQL管理器)是一个图形交互客户机,用来简化MySQL服务器的管理
MySQL Query Browser 为一个图形交互客户机,用来编写和执行MySQL命令
6.USE crashcourse 打开数据库 SHOW DATABASES 显示数据库的内部信息 SHOW TABLES 获得一个数据库内的表的列表
SHOW COLUMNS FROM customers == DESCRIBE customers 从表customers返回每列的字段名、数据类型、是否可以为Null等所有信息
7.SELECT prod_name FROM products; 从products表中检索一个名为prod_name的列,和C语言一样,语句之间用 ; 隔开,对关键字大写,列和表名小写
SELECT prod_id, prod_name, prod_prices FROM products; 从products表中检索三列,列名之间用 , 隔开
SELECT * FROM products; 从products表中检索所有的列,* 称作通配符
SELECT DISTINCT vend_id FROM products; DISTINCT关键字两个特点:1.返回列中不重复的值所在的行 2.关键字应用于所有列,而非前置他的列
SELECT pro_name FROM products LIMIT 3,4; 从products表中检索pro_name列的第三行到第七行, LIMIT x,y; x指开始位置,y指要检索的行数
SELECT products.pro_name FROM crashcourse.products; == SELECT pro_name FROM products; 前者称为完全限定名
8.SELECT pro_id, pro_price, pro_name FROM products ORDER BY prod_price, prod_name; 将检索的数据按照prod_price升序,如果prod_price相同,按照prod_name排序
SELECT pro_id, pro_price, pro_name FROM products ORDER BY prod_price DESC, prod_name; DESC关键字(descend)两个特点:1.实现降序 2.只应用于其前面的列名
SELECT pro_price FROM products ORDER BY prod_price DESC LIMIT 1; 找出最贵的物品
9.SELECT pro_name FROM products WHERE pro_price = 2.5; 找出买的产品价格为2.5的人, 这里一个等号即可判别,范围用between and表示,还有!=,<,<=,>=,>这些符号
SELECT pro_name FROM products WHERE pro_price IS NULL; 找出价格为空字段的姓名,空字段不是价格为0
10.SELECT pro_name, pro_price FROM products WHERE (ven_id = 1002 or ven_id = 1003) and pro_prices >= 10; 价格为10以上且由2或3控制的产品。and优先级大于or
SELECT pro_name FROM products WHERE ven_id IN (1002, 1003) ORDER BY pro_name; 供应商2和3的所有产品,IN指定条件范围,合法值由 , 分割
SELECT pro_name FROM products WHERE ven_id NOT IN (1002, 1003) ORDER BY pro_name; NOT支持对IN, BETWEEN, EXIST句子取反
11.SELECT prod_name FROM products WHERE prod_name LIKE ‘%anvil%‘; 搜索包含文本anvil的值 %称作通配符
SELECT prod_name FROM products WHERE prod_name LIKE ‘_ ton anvil‘; _也是通配符,与%功能一样,但下划线只匹配单个字符而不是多个字符
通配符的搜索很慢,如果其他操作符能达到相同目的,应该优先使用其他操作符
12.