Mysql表,列,庫增刪改查問題小結(jié)
下面是我總結(jié)的一些基礎(chǔ)的sql知識,主要是為了以后更好的查閱和幫助其他初學(xué)的人,同時(shí)記錄自己的成長,還寫了一點(diǎn)稍有
難度的sql面試題級別的題目,好了廢話不多說,見真題。。。
#創(chuàng)建數(shù)據(jù)庫 CREATE DATABASE mytest CHARACTER SET gbk #刪除數(shù)據(jù)庫 DROP DATABASE mytest 表的操作 #創(chuàng)建表(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 #在表格中插入數(shù)據(jù)(insert into 表名(屬性) values(對應(yīng)的值)) INSERT INTO students(id,NAME,sex) VALUES(1,"張三","男") #更新表格數(shù)據(jù)(update 表名 set 鍵=值,鍵=值 where 條件)中間要用“,”隔開,其他的無效 set只需寫一個(gè) UPDATE students SET id=2 , NAME="a" WHERE id=1 #刪除表中數(shù)據(jù)(delete from 表名 where 條件) DELETE FROM students WHERE id=0 #查看表中數(shù)據(jù)(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 簡單函數(shù) SELECT SUM(age) AS "總年齡" FROM students SELECT AVG(age) AS "平均年齡" FROM students SELECT MAX(age) AS "最大年齡" FROM students SELECT COUNT(id) AS "人數(shù)" FROM students(統(tǒng)計(jì)人數(shù)選擇主鍵不然可為空的列會影響結(jié)果) 分組 表內(nèi)容: 2005-05-09 勝 2005-05-09 勝 2005-05-09 負(fù) 2005-05-09 負(fù) 2005-05-10 勝 2005-05-10 負(fù) 2005-05-10 負(fù) 如果要生成下列結(jié)果, 該如何寫sql語句? 勝 負(fù) 2005-05-09 2 2 2005-05-10 1 2 SELECT DATA AS " ",SUM(result='勝') AS "勝" ,SUM(result='負(fù)') AS "負(fù)" FROM test1 GROUP BY DATA Case when(case 屬性=“” then “” end) 寫出由table1.table2得到table3的sql語句 SELECT t1.部門dep,SUM(CASE WHEN 月份mon='一月份' THEN 業(yè)績yj ELSE NULL END) AS '一月份', SUM(CASE WHEN 月份mon='二月份' THEN 業(yè)績yj ELSE NULL END) AS '二月份', SUM(CASE WHEN 月份mon='三月份' THEN 業(yè)績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區(qū)別就是:左連接是以主表為主,顯示所有內(nèi)容,若連接的表沒有與它對應(yīng)的值則不顯示或顯示為null,右連接同理。 內(nèi)連接 用一條SQL語句查詢出每門課都大于80分的學(xué)生姓名(表名為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 (不去除重復(fù))===》t3 SELECT * FROM t1 UNION SELECT * FROM t2 (去除重復(fù))=====>t4 (上分別為t3.t4)
以上所述是小編給大家介紹的Mysql表,列,庫增刪改查問題小結(jié),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
MySQL Installer is running in Community mode 的解決辦法
這篇文章主要介紹了MySQL Installer is running in Community mode 的解決辦法,需要的朋友可以參考下2018-06-06NaviCat連接時(shí)提示"不支持遠(yuǎn)程連接的MySql數(shù)據(jù)庫"解決方法
前段時(shí)間,因?yàn)橐豁?xiàng)目,需要做MYSql的數(shù)據(jù)同步服務(wù),但由于網(wǎng)站空間服務(wù)供應(yīng)商不提供遠(yuǎn)程連接MYSql,所以無法利用NaviCat客戶端通過填寫服務(wù)器地址來連接遠(yuǎn)程服務(wù)器,在網(wǎng)上找到了SSH方式連接,但經(jīng)過測試后發(fā)現(xiàn)依舊無法連接。2011-08-08

MySQL中count(distinct?col...)組合使用的注意要點(diǎn)詳解