关键字和函数名称大写
数据库名称、表名称、字段名称小写
语句以分号结尾
主键约束,每张数据表只能存在一个主键
主键保证纪录的唯一性,主键主动为not null
主键是允许赋值的,但不能赋相同的值。
auto_increment必须和primary key配合使用,但primary key可以独立使用
在字段后面加上, auto_increment primary key
唯一约束,一个表可以存在多个,可以保证纪录的唯一性。
唯一约束的字段可以为空
使用:在字段后面加上 unique key
约束:
not null 非空约束
primary key 主键约束
unique key 唯一约束
default 默认约束
foreign key 外键约束
foreigh key:
表级约束和列级约束:
对一个列建立的约束,称为列级约束
对多个数据列建立的约束,称为表级约束
其中表级约束必须在创建表的时候声明
数据表的修改:列的增加
//创建数据表
CREATE TABLE name( column_name )
//删除数据表
DROP TABLE
delete from 表名 where 删除条件
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
//查找
SELECT column_name,column_name (可用*来代替其他字段,返回所有字段)
FROM table_name
[WHERE Clause] //条件
[LIMIT N][ OFFSET M] //条数
//修改
update 表名称 set 列名称=新值 where 更新条件;
//null
IS NULL: 当列的值是 NULL,此运算符返回 true。
IS NOT NULL: 当列的值不为 NULL, 运算符返回 true
//导出
SELECT * FROM passwd INTO OUTFILE '/tmp/tutorials.txt'
-> FIELDS TERMINATED BY ',' ENCLOSED BY '"'
-> LINES TERMINATED BY '\r\n';
//导入
LOAD DATA LOCAL INFILE 'dump.txt' INTO TABLE mytbl;
//行级锁(row-level locking),也支持表级锁
InnoDB
select s.student_id, s.name
from student s, courses c, enrollment e
where e.student_id = s.student_id
and e.course_id = c.id
and c.course_code =
insert into students(name, student_id, data_of_birth)
values('paul wong', 155466772, '2001-08-30');
insert into courses(cou)
select * from students where name LIKE 'John %';
select id, code, lecture from courses order by course_code desc