HeadFirst系列是美国有名的入门级编程书籍。用生动的案例和形象的比喻,能够比较快速地抓住一门语言的重点。
第三章
- 创建数据库
CREATE DATABASE gregs_list; [一般命令用大写字母,表或数据库的名称用小写
【有了数据库,再在数据库里面创建表,可以授予或撤销整个表的访问权限,比单独控制每个表的权限更有效。】
- 进入数据库
USE DATABASE gregs_list;
- 创建表
CREATE TABLE doughnuts_list
(
doughnuts_name , VARCHAR(10),
doughnuts_type, VARCHAR(6)
);
- 类型
DEC (decimal) 提供数值空间,直到装满为止
DEC(6,2)----前者表示总位数,后者表示小数点后的位数
BLOB :最喜欢大量文本数据了~~~
CHAR:他很严谨,他处理的数据必须事先设定好长度 CHAR(6)
VARCHAR:可以存255个字符数据,很灵活
- 检查刚刚创建的表 DESC
DESC my_contacts;
- 想加入列----问,可以重建已存在的表或数据库吗?No!
可以先丢弃旧表,再创建新表。
- 辞旧迎新:DROP ---删除你的表和你的数据,careful
DROP TABLE my_contacts;
- 把数据添加到表里,需要用到INSERT语句 INSERT INTO
INSERT INTO yourtable(col_name1,col_name2,…) VALUES ('values1','values2',…);
列名与值一一对应,值的内容用‘’单引号。
INSERT语句中的CHAR/VARCHAR/DATE/BLOB的值都需要加上单引号
DESC 和INT不用加单引号
插入的时候可以省略列名,但是值必须完全按表的列顺序
也可以插入部分列的值
- NULL那些事
NULL不是0,NULL不可以相互比较,NULL是未定义的值
控制内心的NULL
可以在创建的时候,指定某些列不为空
CREATE TABLE my_table
( last_name VARCHAR(30) NOT NULL,
first_name VARCHAR(20) NOT NULL
);
- 用DEFAULT填补空白
- 不要使用双引号
- Update set where
Set 后面接列名=‘更改值’,如果有多个则用逗号隔开。
Update drink_info set cost = cost +1 where drink_name='blue_moon';【可以加上数学运算,+-*/】
还可以使用函数,如upper()
- 多多使用OR
- IS NULL 关键字
不可以直接选择NULL
- Like 关键字
有两个通配符 第一个是% 第二个是_
%IM 表示在IM前有多个其他字符 的数据都会返回
_im 表示在im前有一个字符的数据 才会返回
- Between and 是包含头尾的,相当于<=,>=.
在文本列中,可以用betweenand 查找出字母开头的列
Select * fromdrink_info where name between 'G' and 'O';
- IN ----值的集合
NOT IN---也是值的集合,反集合
- 更多的NOT
一定要记住,NOT 和between and 一起用的时候,NOT 要紧跟着WHERE!
Not也可以跟着AND OR;也要跟在and / or 关键字的后面
SELECT* FROM prv_sysparam p WHERE p.mcode notlike '0' andnot p.gcode = '@ROOT';
- 插入列
alter table 表名 add 列名 数据类型
- 查看表的描述
可以用右键--》describe 功能才看
可以通过命令行 DESCRIBE table_name
- 想看create table 时候的代码----->
SHOW CREATE TABLE table_name