關鍵字和函數(shù)名稱大寫
數(shù)據(jù)庫名稱截珍、表名稱炸渡、字段名稱小寫
語句以分號結(jié)尾
主鍵約束,每張數(shù)據(jù)表只能存在一個主鍵
主鍵保證紀錄的唯一性偷拔,主鍵主動為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:
表級約束和列級約束:
對一個列建立的約束栅哀,稱為列級約束
對多個數(shù)據(jù)列建立的約束震肮,稱為表級約束
其中表級約束必須在創(chuàng)建表的時候聲明
數(shù)據(jù)表的修改:列的增加
//創(chuàng)建數(shù)據(jù)表
CREATE TABLE name( column_name )
//刪除數(shù)據(jù)表
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] //條數(shù)
//修改
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