对数据库的理解
- 一条记录通常对应一个对象。
- 语句小写,自定义全部大写,多个单词组成用下划线分隔。
- 约束:
非空约束:not null,唯一约束:unique
数据类型
- 整数
TINYINT SMALLINT MEDIUMINT INT BITINT
1 2 3 4 8字节 - 实数
FLOAT 4字节 DOUBLE 8字节
DECIMAL 精确小数 - 字符串
VARCHAR 可变长度
CHAR 固定长度
TEXT 还有四个子类型,不同容纳程度。
BLOB 也有四个子类型,不同容纳程度。 - 日期
DATETIME 8字节,精度为s
TIMESTAMP 格林尼治到现在的s数,4字节。
操作
- 创建数据库表
create table tbl_user(
id int not null auto_increment,//自增尽量少用,不易迁移,比如oracle
name varchar(50) not null default '',//设置默认值
);
alter table tbl_user add primary key(ID);//这种写法防止当被约束时的id还没有创建的bug.
- 插入记录
字符和字符串和日期都用单引号包括
insert into tbl_user values('test','28','2016-01-01');
INSERT INTO Persons (LastName, Address) VALUES ('Wilson', 'Champs-Elysees')//插入时指定相应的列
- 查询,限制
select user_name from tbl_user where user_name = 'test' and age = 28 limit 5
- 更新
update tbl_user set age = 30 where user_name = 'test';
- 删除
delete from tbl_user where user_name = 'test';
//如果要摧毁整个表格
truncate table USER;
delete from USER;//逐条删除效率较低
- 修改表的定义
alter table tbl_user add email varchar;//添加字段
alter table tbl_user drop email;//删除字段
alter table tbl_user change age user_age int;//修改相应的类名
alter table tbl_user rename user_tbl;//重命名
drop table tbl_user;//删除表
- 排序
SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC//ORDER BY默认升序,DESC关键字降序