標籤:sql語句 順序 int distinct 1.5 not creat varchar 人事部門
一、資料庫的基本操作
1 CREATE DATABASE mybookstore;2 DROP DATABASE mybookstore;
二、表的基本操作
1、建立表
insert into 表名(欄位名1,欄位名2) values(值1,值2);
1 CREATE TABLE student(2 id INT,3 `name` VARCHAR(50)4 );
2、刪除表
delete from 表名 where語句;
DROP TABLE student;
3、修改表
update 表名 set 欄位名1=欄位值,欄位名2=欄位值 where語句
update dept set dept_name=‘人事部門‘ where id=4
4、查詢表
select 欄位名1,欄位名2 from 表名 where語句
SELECT * FROM stu WHERE id=3;
三、表查詢關鍵字
1、關鍵字使用及SQL語句順序
select 列名1,列名2...
from 表1
join 表2
on 串連條件
where 過濾條件
group by 分組條件1,分組條件2
having 彙總函式過濾
order by 排序列1,排序列2
limit 分頁
2、執行順序:from—>on—>join—>where—>group by—>with—>having—>select—>distinct—>order by —>limit
四、約束
1、主鍵[primary key ]:可以唯一的表示一行資料,可以快捷的檢索到一條資料!(唯一、非空、可以被引用)
2、自增:auto_increment:自增僅僅適用於數實值型別的值!
3、非空:not null :表示當前欄位值不能為null
4、唯一:unique:表示當前欄位值必須是唯一的
5、注意一點:約束必須放在列名類型後面,至於多個約束的順序無所謂!
6、外鍵:
外部索引鍵關聯指的是將一個表中的列和另一個表的主鍵進行關聯!
1)一對一
經典案例:夫妻
1 /*一對一:夫妻*/ 2 CREATE TABLE husband( 3 id INT PRIMARY KEY AUTO_INCREMENT, 4 `name` VARCHAR(20) NOT NULL 5 ); 6 7 INSERT INTO husband VALUES(1,‘張三‘); 8 INSERT INTO husband VALUES(2,‘王五‘); 9 10 CREATE TABLE wife(11 id INT PRIMARY KEY AUTO_INCREMENT,12 `name` VARCHAR(20) NOT NULL,13 FOREIGN KEY(id) REFERENCES husband(id)14 );15 INSERT INTO wife VALUES(1,‘李四‘);16 INSERT INTO wife VALUES(2,‘趙六‘);17 INSERT INTO wife VALUES(1,‘李靜‘); /*由於一對一約束,此行插入失敗*/
2)一對多[多對一]
通常是在多的一端關聯一的主鍵!通常將外鍵建在多的一端!
經典案例:部門表與員工表 dept& emp
1 /*一對多:員工-部門*/ 2 DROP TABLE dept; 3 CREATE TABLE dept( 4 id INT PRIMARY KEY AUTO_INCREMENT, 5 dept_name VARCHAR(10) NOT NULL UNIQUE 6 ); 7 INSERT INTO dept VALUES(NULL,‘開發部門‘); 8 9 DROP TABLE emp;10 CREATE TABLE emp(11 id INT PRIMARY KEY AUTO_INCREMENT,12 `name` VARCHAR(30) NOT NULL UNIQUE,13 dept_id INT ,14 FOREIGN KEY(dept_id) REFERENCES dept(id)15 );16 INSERT INTO emp VALUES(NULL,‘張三‘,1);17 INSERT INTO emp VALUES(NULL,‘李四‘,1);18 INSERT INTO emp VALUES(NULL,‘王五‘,1);
3)多對多
經典案例:教師 學生
1 /*多對多:教師-學生*/ 2 CREATE TABLE teacher( 3 id INT PRIMARY KEY AUTO_INCREMENT, 4 `name` VARCHAR(20) NOT NULL 5 ); 6 INSERT INTO teacher VALUES(NULL,‘李老師‘); 7 INSERT INTO teacher VALUES(NULL,‘劉老師‘); 8 INSERT INTO teacher VALUES(NULL,‘王老師‘); 9 10 CREATE TABLE student(11 id INT PRIMARY KEY AUTO_INCREMENT,12 `name` VARCHAR(20) NOT NULL13 );14 INSERT INTO student VALUES(NULL,‘嚴濤‘);15 INSERT INTO student VALUES(NULL,‘楊濤‘);16 INSERT INTO student VALUES(NULL,‘鄒夢潔‘);17 18 CREATE TABLE tea_stu(19 tea_id INT,20 stu_id INT,21 FOREIGN KEY(tea_id) REFERENCES teacher(id),22 FOREIGN KEY(stu_id) REFERENCES student(id)23 );24 INSERT INTO tea_stu VALUES(1,1);25 INSERT INTO tea_stu VALUES(1,2);26 INSERT INTO tea_stu VALUES(1,3);27 INSERT INTO tea_stu VALUES(2,1);28 INSERT INTO tea_stu VALUES(2,1);
通過sql語句對MySql資料庫的基本操作