35個(gè)常用的mySQL基本操作

1、創(chuàng)建數(shù)據(jù)庫(kù)CREATE DATABASE _databasename

--創(chuàng)建一個(gè)mytest的數(shù)據(jù)庫(kù)
CREATE DATABASE mytest;
--創(chuàng)建一個(gè)mytest的數(shù)據(jù)庫(kù)并設(shè)置默認(rèn)字符編碼
CREATE DATABASE mytest DEFAULT CHARACTER SET "utf8";

2、查看已創(chuàng)建的所有數(shù)據(jù)庫(kù)SHOW DATABASES

SHOW DATABASES;

3、使用數(shù)據(jù)庫(kù)USE _databasename

--使用mytest數(shù)據(jù)庫(kù)
USE mytest;

4、創(chuàng)建數(shù)據(jù)表CREATE TABLE _tablename

--創(chuàng)建一個(gè)名為user的數(shù)據(jù)表
CREATE TABLE 'user'(
id SMALLINT,
username VARCHAR(20),
age TINYINT
);

5、查看當(dāng)前數(shù)據(jù)庫(kù)中所有的數(shù)據(jù)表SHOW TABLES

SHOW TABLES;

6、查看當(dāng)前數(shù)據(jù)表中的結(jié)構(gòu)DESC _tablename

--查看hurujiuser表
DESC hurujiuser;

7、查看創(chuàng)建數(shù)據(jù)庫(kù)時(shí)的描述SHOW CREATE TABLE _tablename

--查看hurujiuser
SHOW CREATE TABLE hurujiuser;

8、插入記錄INSERT tablename VALUES

--向user表中插入一條記錄
INSERT user VALUES("1","huruji","18");
--向user表中插入一條記錄只包含名字
INSERT user(username) VALUES("xie");
--向user表中同時(shí)插入多條記錄
INSERT user VALUES(2,,"xie",10),
(3,"zhi",12),
(4,"huruwa",20);

9、查看數(shù)據(jù)表中的所有記錄SELECT * FROM _tablename

--查看cms_user
SELECT * FROM cms_user;

10、修改數(shù)據(jù)表名字 RENAME...

ALTER TABLE hurujiuser RENAME TO xieuser;

ALTER TABLE xieuser RENAME AS hurujiuser;

ALTER TABLE hurujiuser RENAME xieuser;

RENAME TABLE xieuser TO hurujiuser;

11、添加字段ADD

--添加一個(gè)字段
ALTER TABLE hurujiuser ADD card CHAR(18);
--一次添加多個(gè)字段
ALTER TABLE hurujiuser ADD test CHAR,
ADD test2 INT(11),
ADD test3 VARCHAR(20);

12、刪除字段DROP

--刪除一個(gè)字段
ALTER TABLE hurujiuser DROP test;
--一次刪除多個(gè)字段
ALTER TABLE hurujiuser DROP test2,
DROP test3;
--同時(shí)添加和刪除字段
ALTER TABLE hurujiuser ADD email VARCHAR(50),
DROP age;

13、修改字段MODIFY

ALTER TABLE hurujiuser MODIFY eamil VARCHAR(200) NOT NULL DEFAULT "myuser@qq.com";

14、修改字段位置MODIFY

--將email字段移至addr字段之后
ALTER TABLE hurujiuser MODIFY email VARCHAR(200) NOT NULL DEFAULT "myuser@qq.com" AFTER addr;
--將username字段移至第一位
ALTER TABLE hurujiuser MODIFY username CARCHAR(20) NOT NULL UNIQUE FIRST;

15、添加主鍵ADD PRIMARY KEY

ALTER TABLE hurujiuser ADD PRIMARY KEY(username);

16、添加唯一ADD UNIQUE

ALTER TABLE hurujiuser ADD UNIQUE(email);

17、為兩個(gè)字段添加唯一索引ADD UNIQUE INDEX

ALTER TABLE hurujiuser ADD UNIQUE INDEX mul_age_num(age,num);

18、刪除唯一索引DROP

ALTER TABLE hurujiuser DROP mul_age_num;

19、刪除數(shù)據(jù)表DROP TABLE _tablename

DROP TABLE hurujiuser;

20、將查詢(xún)結(jié)果插入到新的表中

--將testinsert 中的id,username插入表mytest中
INSERT mytest SELECT id,username FROM testinsert;

21、更改數(shù)據(jù)UPDATE

--將所有記錄的age改為15
UPDATE hurujiuser SET age=15;
--將id=1的記錄的age改為2,email為id@qq.com
UPDATE hurujiuser SET age=2,email="id@qq.com" WHERE id=1;

22、徹底清空表格TRUNCATE

TRUNCATE TABLE hurujiuser;

23、查詢(xún)數(shù)據(jù)SELECT ... FROM ...

--查詢(xún)所有記錄
SELECT * FROM hurujiuser;
--查詢(xún)記錄中的id和username
SELECT id username FROM hurujiuser;
--查詢(xún)id=1的記錄
SELECT * FROM hurujiuser WHERE id=1;
--查詢(xún)id>=6的所有記錄
SELECT * FROM hurujiuser WHERE id>=6; 

24、模糊查詢(xún)LIKE
%:代表0個(gè)、1個(gè)或者多個(gè)任意字符
_:代表1個(gè)任意字符

--搜索名字中含有張字的用戶(hù)
SELECT * FROM cms_user WHERE username LIKE "%張%";
--搜索名字中姓張的用戶(hù)
SELECT * FROM cms_user WHERE username LIKE "張%";
--搜索姓名為4個(gè)字的用戶(hù)
SELECT * FROM cms_user WHERE username LIKE "____";

25、分組查詢(xún)GROUP BY

SELECT * FROM cms_user GROUP BY proid;

26、顯示分組后的詳情GROUP_CONCAT

--顯示每個(gè)組中的姓名
SELECT id,sex,GROUP_CONCAT(username) FROM cms_user GROUP BY sex;

27、二次篩選HAVING

SELECT sex,GROUP_CONCAT(username) AS users,
COUNT(*) AS totalUsers,
MAX(age) AS max_age,
SUM(age) AS total_age
FROM cms_user GROUP BY sex HAVING COUNT(*)>2;

28、排序ORDER BY

--升序默認(rèn)
SELECT * FROM cms_user ORDER BY id;
SELECT * FROM cms_user ORDER BY id ASC;
--降序
SELECT * FROM cms_user ORDER BY id DESC;

29、隨機(jī)顯示RAND()

SELECT * FROM cms_user RAND();

30、限制記錄LIMIT

--顯示前3條
SELECT * FROM cms_user LIMIT 3;
SELECT * FROM cms_user LIMIT 0,3;
--顯示4,5,6三條
SELECT * FROM cms_user LIMIT 3,3;

31、聚合函數(shù)MAX(),MIN(),AVG(),SUM()

SELECT id,sex,age,GROUP_CONCAT(username),
COUNT(*) AS totalusers,
MAX(age) AS max_age,
MIN(age) AS min_age,
AvG(age) AS avg_age,
SUM(age) AS sum_age
FROM cms_user
WHERE id>=1
GROUP BY sex
HAVING COUNT(*)>=2 ORDER BY age DESC LIMIT 2;

32、內(nèi)連接查詢(xún)

SELECT u.id,u.username,u.email,u.sex,p.proname
FROM cms_user AS u
INNER JOIN provinces AS p 
ON u.proid=p.id;

SELECT u.id,u.username,p.proName
FROM provinces AS p
CROSS JOIN cms_user AS u
ON p.id=u.proid;

SELECT u.id,u.username,u.sex,p.proName
FROM cms_user AS u JOIN 
provinces AS p
ON u.proid=p.id
WHERE u.sex="男";

33、聯(lián)合查詢(xún)UNION

SELECT username FROM employee UNION SELECT username FROM cms_user;

34、子查詢(xún)

SELECT id username FROM employee WHERE depId IN(SELECT id FROM department);

35、添加外鍵FOREIGN KEY

CREATE TABLE IF NOT EXISTS employee(
id SMALLINT UNSIGNED AUTO_INCREMENT KEY,
username VARCHAR(20) NOT NULL UNIQUE,
depId TINYINT UNSIGNED,
CONSTRAINT emp_fk_dep FOREIGN KEY(depId) REFERENCES department(id)
)ENGINE=INNODB;

ALTER TABLE employee ADD CONSTRAINT emp_fk_dep FROEIGN KEY(depId) REFERENCES department(id);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容