SQL基礎練習

-- 創建數據庫
CREATE DATABASE 10_8;
-- 查看當前數據庫
SELECT DATABASE();
-- 使用數據庫
USE 10_8;
-- 建表a
CREATE TABLE a(
  id INT,
  sname VARCHAR(20),
  birthday DATE,
  gender VARCHAR(5),
  school VARCHAR(20)
);
-- 插入一列
ALTER TABLE a ADD image BLOB;
-- 設置主鍵
ALTER TABLE a ADD CONSTRAINT PRIMARY KEY(id);
-- 修改表名爲form1
RENAME TABLE a TO form1;
-- 查看錶創建細節
SHOW CREATE TABLE form1;
-- 修改列名sname 爲 name
ALTER TABLE form1 CHANGE sname NAME VARCHAR(20);
-- 插入一列
ALTER TABLE form1 ADD addr TIMESTAMP;
-- 修改地址的類型
ALTER TABLE form1 MODIFY addr VARCHAR(50);
-- 查看錶的字段信息
DESC form1;
-- 批量插入數據
INSERT INTO form1 VALUES
(1,'張三','1996-5-1','男','通信與信息工程學院','shuai','西安'),
(2,'張三丰','1996-5-2','女','通信與信息工程學院','liang','西安'),
(3,'李四','1996-5-4','男','電子工程學院','shuai','西安'),
(4,'狗蛋','1996-5-3','女','通信與信息工程學院','shuai','西安');
--  讓狗蛋變成日本人吧!
UPDATE form1 SET addr='日本' WHERE NAME='狗蛋';
-- 讓通院的男生更帥吧!
UPDATE form1 SET image='supercool' WHERE school='通信與信息工程學院' AND gender='男';
-- 查詢張姓學生
SELECT * FROM form1 WHERE NAME LIKE '張%';
-- 看一下都有那些image,不看重複的
SELECT DISTINCT image FROM form1;
-- 按id倒序查詢
SELECT * FROM form1 ORDER BY id DESC;
-- 分組查詢
SELECT gender,COUNT(*) SUM FROM form1 GROUP BY gender;
-- 查詢當前表的鍵
SELECT TABLE_NAME,COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME='form1';
-- 查詢記錄數,結果重命名爲sum
SELECT COUNT(*) AS SUM FROM form1;
-- 查詢生命週期顯示
SHOW FULL PROCESSLIST;
-- 創建另一張表
USE 10_8;
CREATE TABLE form2(
id INT,
math DOUBLE,
chinese DOUBLE,
english DOUBLE,
TIMESTAMP TIMESTAMP
);
-- 添加主鍵
ALTER TABLE form2 ADD PRIMARY KEY(id);
ALTER TABLE form2 MODIFY id INT AUTO_INCREMENT;
DESC form1;
INSERT INTO form2(math,chinese,english) VALUES
(77,88,99),
(44,55,66),
(11,22,33);

INSERT INTO form2(math,chinese,english) VALUES(92,95,98);
DELETE FROM form2 WHERE id=4;
-- 內連接查詢
SELECT * FROM form1 f1 INNER JOIN form2 f2 ON f1.id = f2.id;
-- 左連接查詢
SELECT * FROM form1 f1 LEFT JOIN form2 f2 ON f1.id = f2.id;
-- 右連接查詢
SELECT * FROM form1 f1 RIGHT JOIN form2 f2 ON f1.id = f2.id;
-- 添加主外鍵
ALTER TABLE form2 ADD CONSTRAINT fk_form1_form2 FOREIGN KEY(id) REFERENCES form1(id);

ALTER TABLE form2 ADD CONSTRAINT fk_from1_form2 FOREIGN KEY(id) REFERENCES form1(id) ON DELETE CASCADE;

-- 自然連接
SELECT * FROM form1 NATURAL JOIN form2;
SELECT * FROM form1 NATURAL LEFT JOIN form2;
SELECT * FROM form1 NATURAL RIGHT JOIN form2;

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章