一、建表 1、最簡單的建表CREATE TABLE user(id int,name char(20),age int); 2、帶主鍵帶註釋和預設值創建表CREATE TABLE user(id INT PRIMARY KEY AUTO_INCREMENT COMMENT '設置主鍵自增',name ...
一、建表 1、最簡單的建表
CREATE TABLE user(
id int,
name char(20),
age int
);
2、帶主鍵帶註釋和預設值創建表
CREATE TABLE user(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '設置主鍵自增',
name VARCHAR(200) default '1' COMMENT '給name加入預設值1',
age int COMMENT '我是列註釋'
) COMMENT='我是表註釋'
二、 增刪改查
1、插入數據
一次添加一行數據
INSERT INTO `user` (`id`, `name`, `age`) VALUES
('4', '1', '2');
一次添加多行
INSERT INTO `user` (`id`, `name`, `age`) VALUES
('4', '1', '2'),
('5', '1', '2),
('6', '1', '2');
給一個欄位添加數據
INSERT INTO `user` (`age`) VALUES (6)
2、刪除數據(最好少用,儘量軟刪除)
刪除一條id為1的數據,where跟著的是範圍洛
DELETE FROM user WHERE id =1
刪除資料庫、表(如果準備跑路的話可以練練手)
刪除表:drop table table1; 如果有外鍵約束刪除不了可以用drop table table1 cascade constraints;
刪除資料庫:drop database database1
當然刪除之後還是會在回收站,可以馬上恢復刪除的表
3、更新
update table1 set id=1 where 範圍
set後面是需要更新的值
4、查詢
select * from user where 範圍
三、連表查詢
有兩張表
user
writers
1、INNER JOIN
SELECT * from user INNER JOIN writers on user.id = writers.id
產生的是user和writers滿足條件的集合
2、FULL JOIN
mysql並不支持全連接查詢,所以不能直接用,當然可以這樣用
SELECT * from user LEFT join writers on user.id = writers.id
UNION
SELECT * from user RIGHT JOIN writers on user.id = writers.id
用left join 加union和right join 可以實現全連接
這樣匹配的結果是如果user查writers沒有出結果會以null代替 writers表也一樣
3、union用法
union用於去重,可以這樣用,但要主要兩個表的列要一樣,而且列必須有相同的數據類型
SELECT id FROM `user`
UNION
SELECT id FROM writers
4、left join
查詢出左表所有和數據和跟右表關聯的數據,右表沒有用null代替
SELECT * from user LEFT JOIN writers on user.id = writers.id
5、right join 和left join類似
SELECT * from user RIGHT JOIN writers on user.id = writers.id
覺得有用的記得推薦,評論666。。。