Mysql表,列,庫(kù)增刪改查問(wèn)題小結(jié)
下面是我總結(jié)的一些基礎(chǔ)的sql知識(shí),主要是為了以后更好的查閱和幫助其他初學(xué)的人,同時(shí)記錄自己的成長(zhǎng),還寫(xiě)了一點(diǎn)稍有
難度的sql面試題級(jí)別的題目,好了廢話不多說(shuō),見(jiàn)真題。。。
#創(chuàng)建數(shù)據(jù)庫(kù) CREATE DATABASE mytest CHARACTER SET gbk #刪除數(shù)據(jù)庫(kù) 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(對(duì)應(yīng)的值)) INSERT INTO students(id,NAME,sex) VALUES(1,"張三","男") #更新表格數(shù)據(jù)(update 表名 set 鍵=值,鍵=值 where 條件)中間要用“,”隔開(kāi),其他的無(wú)效 set只需寫(xiě)一個(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 查詢(xún)的東西 from 表名 where 條件) SELECT * FROM students WHERE id=1 SELECT * FROM students ORDER BY age DESC(order by升序,order by 列名 desc降序) 列 #添加列(alter table 表名 add 列名 字段類(lèi)型) 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 需要修改的列名 修改后的列名 新列名字段類(lèi)型) ALTER TABLE stu CHANGE telphone tel CHAR(20) DEFAULT "-" ALTER TABLE students CHANGE tel ALTER TABLE students RENAME stu 簡(jiǎn)單函數(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ù)選擇主鍵不然可為空的列會(huì)影響結(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é)果, 該如何寫(xiě)sql語(yǔ)句? 勝 負(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) 寫(xiě)出由table1.table2得到table3的sql語(yǔ)句 SELECT t1.部門(mén)dep,SUM(CASE WHEN 月份mon='一月份' THEN 業(yè)績(jī)yj ELSE NULL END) AS '一月份', SUM(CASE WHEN 月份mon='二月份' THEN 業(yè)績(jī)yj ELSE NULL END) AS '二月份', SUM(CASE WHEN 月份mon='三月份' THEN 業(yè)績(jī)yj ELSE NULL END) AS '三月份' FROM table1 t1 LEFT JOIN table2 t2 ON t1.部門(mén)dep=t2.部門(mén)dep GROUP BY 部門(mén)dep 左連接與右連接(left join 表名 on 連接語(yǔ)句) Left join與right join區(qū)別就是:左連接是以主表為主,顯示所有內(nèi)容,若連接的表沒(méi)有與它對(duì)應(yīng)的值則不顯示或顯示為null,右連接同理。 內(nèi)連接 用一條SQL語(yǔ)句查詢(xún)出每門(mén)課都大于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表,列,庫(kù)增刪改查問(wèn)題小結(jié),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(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ù)庫(kù)"解決方法
前段時(shí)間,因?yàn)橐豁?xiàng)目,需要做MYSql的數(shù)據(jù)同步服務(wù),但由于網(wǎng)站空間服務(wù)供應(yīng)商不提供遠(yuǎn)程連接MYSql,所以無(wú)法利用NaviCat客戶(hù)端通過(guò)填寫(xiě)服務(wù)器地址來(lái)連接遠(yuǎn)程服務(wù)器,在網(wǎng)上找到了SSH方式連接,但經(jīng)過(guò)測(cè)試后發(fā)現(xiàn)依舊無(wú)法連接。2011-08-08MySQL 使用自定義變量進(jìn)行查詢(xún)優(yōu)化
MySQL自定義變量估計(jì)很少人有用到,但是如果用好了也是可以輔助進(jìn)行性能優(yōu)化的。需要注意的是變量是基于連接會(huì)話的,而且可能存在一些意外的情況,需要小心使用。本篇介紹如何利用自定義變量進(jìn)行查詢(xún)優(yōu)化,提高效率2021-05-05

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