您好,登錄后才能下訂單哦!
本文主要給大家介紹MySQL入門基本講義,希望可以給大家補充和更新些知識,如有其它問題需要了解的可以持續在億速云行業資訊里面關注我的更新文章的。
數據保存到【內存】:
優點:讀寫非常快
缺點:程序關閉導致數據丟失
數據保存到【文件】:
優點:數據可以永久保存
缺點:1)頻繁地IO操作,效率不高!2)數據管理不方便。例如查詢某個數據需要全部讀取出來,再匹配。
數據保存到【數據庫軟件】:
優點:1)數據永久保存下來。2)數據管理非常方便。(例如查詢非常快速和方便)
數據可以說是企業的靈魂!!
數據庫,俗稱數據的倉庫。方便管理數據的軟件(或程序)。
Oracle,甲骨文公司的產品。 當前最流行應用最廣泛的數據庫軟件。和java語言兼容非常好。適合中大型,中大應用。
SQL Server: 是微軟公司的產品。window平臺應用非常廣泛。和c#,net平臺兼容非常好。
DB2: IBM公司的產品。IBM云服務器--> UNIX -> DB2- > Websphere
MySQL: 開源組織的產品。甲骨文公司的產品。免費!!!和java語言兼容非常好!適合中小企業,中小應用
以上都是關系型數據庫。
MongoDB:非關系型數據庫。
1)到mysql官網下載。
2)安裝mysql軟件
3)使用
驗證是否成功:打開cmd -> 輸入 mysql -u root -p 回車 -> 輸入密碼 回車
先【數據庫】,再【表】,再有【數據】
查詢所有數據庫:show databases;
創建數據庫:create database 數據庫名 default character set utf8;
create database testdb default character set utf8;
查看數據庫的默認字符集: show create database 數據庫名;
create database testdb default character set utf8;
修改數據庫: alter database 數據庫名 default character set 字符編碼;
alter database testdb default character set gbk;
刪除數據庫:drop database 數據庫名;
drop database testdb;
使用數據庫:use 數據庫名;
use testdb;
在進行表管理之前,一定要使用某一個數據庫:use 數據庫名;
查看所有表:show tables;
創建表:
CREATE TABLE T_Students(
Id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(20) NOT NULL,
gender BIT NOT NULL
)
查看表結構:desc 表名;
查看創建表的SQL語句:show create table 表名;
刪除表:drop table 表名;
修改表:
添加字段:alter table 表名 add column 字段名 字段類型;
刪除字段:alter table 表名 drop column 字段名;
修改字段類型:alter table 表名 modify column 字段名 字段類型;
修改字段名稱:alter table 表名 change column 舊字段名 新字段名 字段類型;
修改表名稱:alter table 表名 rename to 新表名;
增加數據
插入所有字段。一定依次按順序插入。注意不能少或多字段值
INSERT INTO student VALUES(1,'張三','男',20);
插入部分字段
INSERT INTO student(id,NAME) VALUES(2,'李四');
修改數據
修改所有數據(建議少用)
UPDATE student SET gender='女';
帶條件的修改(推薦使用)
UPDATE student SET gender='男' WHERE id=1;
修改多個字段,注意: SET 字段名=值,字段名=值,....
UPDATE student SET gender='男',age=30 WHERE id=2;
刪除數據
刪除所有數據(建議少用)
DELETE FROM student;
帶條件的刪除(推薦使用)
DELETE FROM student WHERE id=2;
另一種方式
TRUNCATE TABLE student;
delete from和truncate table的對比
delete from: 可以全表刪除,1)可以帶條件刪除;2)只能刪除表的數據,不能刪除表的約束;3)使用delete from刪除的數據可以回滾(事務)
truncate table: 可以全表刪除 1)不能帶條件刪除 2)即可以刪除表的數據,也可以刪除表的約束 3)使用truncate table刪除的數據不能回滾
SELECT * FROM student;
SELECT id,name,gender FROM student;
SELECT id,name,gender,age,'hello world' AS 'msg' FROM student;
SELECT id,(math+english) FROM scores;-- 注意:合并列只能合并數值類型的字段
SELECT DISTINCT gender FROM student;
邏輯條件: and(與) or(或)
SELECT * FROM student WHERE id=2 AND NAME='李四'; -- 交集
SELECT * FROM student WHERE id=2 OR NAME='張三'; -- 并集
比較條件: > < >= <= = <>(不等于) between and (等價于>= 且 <=)
SELECT * FROM scores WHERE math>70;
判空條件(null 空字符串): is null / is not null / ='' / <>''
SELECT * FROM student WHERE address IS NULL OR address=''; -- (包括null和空字符串)
模糊條件: like
-- 通常使用以下替換標記:% 表示任意個字符,_ 表示一個字符。
SELECT * FROM student WHERE name LIKE '李%';
SELECT * FROM student WHERE name LIKE '李_';
SELECT SUM(math) AS 'math的總成績' FROM scores;
SELECT AVG(math) AS 'math的平均分' FROM scores;
SELECT MAX(math) AS '最高分' FROM scores;
SELECT MIN(math) AS '最低分' FROM scores;
SELECT COUNT(*) FROM student;
SELECT COUNT(id) FROM student;
-- 注意:count()函數統計的數量不包含null的數據。因此,使用count統計表的記錄數,要使用不包含null值的字段。
limit 起始行,查詢幾行
起始行從0開始
分頁:當前頁 每頁顯示多少條
分頁查詢當前頁的數據的sql:
SELECT * FROM student LIMIT (當前頁-1)*每頁顯示多少條,每頁顯示多少條;
語法 :order by 字段 asc/desc
asc: 順序,正序。數值:遞增,字母:自然順序(a-z)
desc: 倒序,反序。數值:遞減,字母:自然反序(z-a)
SELECT gender,COUNT(*) FROM student GROUP BY gender;
注意: 分組之前條件使用where關鍵字,分組之前條件使用having關鍵字
SELECT gender,COUNT(*) FROM student WHERE GROUP BY gender HAVING COUNT(*)>2;
看了以上關于MySQL入門基本講義,希望能給大家在實際運用中帶來一定的幫助。本文由于篇幅有限,難免會有不足和需要補充的地方,如有需要更加專業的解答,可在官網聯系我們的24小時售前售后,隨時幫您解答問題的。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。