#創建數據庫
CREATE DATABASE mytest CHARACTER SET gbk
#刪除數據庫
DROP DATABASE mytest
表的操作
#創建表(create table 表名(columns))
CREATE TABLE students(
id INT PRIMARY KEY,
NAME CHAR(10) NOT NULL,
sex CHAR(4) NOT NULL
);
#刪除表(drop table 表名)
DROP TABLE students
#在表格中插入數據(insert into 表名(屬性) values(對應的值))
INSERT INTO students(id,NAME,sex) VALUES(1,"張三","男")
#更新表格數據(update 表名 set 鍵=值,鍵=值 where 條件)中間要用“,”隔開,其他的無效 set只需寫一個
UPDATE students SET id=2 , NAME="a" WHERE id=1
#刪除表中數據(delete from 表名 where 條件)
DELETE FROM students WHERE id=0
#查看表中數據(select 查詢的東西 from 表名 where 條件)
SELECT * FROM students WHERE id=1
SELECT * FROM students ORDER BY age DESC(order by升序,order by 列名 desc降序)
列
#添加列(alter table 表名 add 列名 字段類型)
ALTER TABLE students ADD tel CHAR(20)
ALTER TABLE students ADD address CHAR(50) AFTER sex
#刪除列(alter table 表名 drop 列名)
ALTER TABLE students DROP address
#修改列屬性(alter table 表名 change 需要修改的列名 修改后的列名 新列名字段類型)
ALTER TABLE stu CHANGE telphone tel CHAR(20) DEFAULT "-"
ALTER TABLE students CHANGE tel
ALTER TABLE students RENAME stu
簡單函數
SELECT SUM(age) AS "總年齡" FROM students
SELECT AVG(age) AS "平均年齡" FROM students
SELECT MAX(age) AS "最大年齡" FROM students
SELECT COUNT(id) AS "人數" FROM students(統計人數選擇主鍵不然可為空的列會影響結果)
分組
表內容:
2005-05-09 勝
2005-05-09 勝
2005-05-09 負
2005-05-09 負
2005-05-10 勝
2005-05-10 負
2005-05-10 負 如果要生成下列結果, 該如何寫sql語句?
勝 負
2005-05-09 2 2
2005-05-10 1 2
SELECT DATA AS " ",SUM(result='勝') AS "勝" ,SUM(result='負') AS "負" FROM test1 GROUP BY DATA Case when(case 屬性=“” then “” end)
寫出由table1.table2得到table3的sql語句
SELECT t1.部門dep,SUM(CASE WHEN 月份mon='一月份' THEN 業績yj ELSE NULL END) AS '一月份',
SUM(CASE WHEN 月份mon='二月份' THEN 業績yj ELSE NULL END) AS '二月份',
SUM(CASE WHEN 月份mon='三月份' THEN 業績yj ELSE NULL END) AS '三月份' FROM table1 t1 LEFT JOIN table2 t2 ON t1.部門dep=t2.部門dep GROUP BY 部門dep
左連接與右連接(left join 表名 on 連接語句)
Left join與right join區別就是:左連接是以主表為主,顯示所有內容,若連接的表沒有與它對應的值則不顯示或顯示為null,右連接同理。
內連接
用一條SQL語句查詢出每門課都大于80分的學生姓名(表名為score)
Select distinct(去重) name from score where name not in(
Select name from score where fenshu=80;
);
Union all、union(下分別為t1.t1)
SELECT * FROM t1 UNION ALL SELECT * FROM t2 (不去除重復)===》t3
SELECT * FROM t1 UNION SELECT * FROM t2 (去除重復)=====>t4
(上分別為t3.t4)
以上所述是小編給大家介紹的Mysql表,列,庫增刪改查問題小結,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!