91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MYSQL數據庫中的常用語句命令有哪些

發布時間:2022-01-21 11:37:36 來源:億速云 閱讀:176 作者:小新 欄目:開發技術

這篇文章將為大家詳細講解有關MYSQL數據庫中的常用語句命令有哪些,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

MYSQL數據庫常用語句命令

1.啟動MySQL服務

net start mysql

2.登錄MySQL數據庫

mysql -u root -p 
#或者
mysql -h localhost -u root -p

3.數據庫查看刪除

# 查看所有的數據庫
SHOW DATABASES ;
# 創建一個數據庫
CREATE DATABASE k;
# 刪除一個數據庫
DROP DATABASE k;
# 使用這個數據庫
USE k;

3.數據庫表查看與操作

# 查看數據庫所有的表
SHOW TABLES ;

# 查看表的結構(以下五條語句效果相同)
DESC n;   # 因為簡單,所以建議使用
DESCRIBE n;
SHOW COLUMNS IN n;
SHOW COLUMNS FROM n;
EXPLAIN n;
# 創建一個表
CREATE TABLE n(id INT, name VARCHAR(10));
CREATE TABLE m(id INT, name VARCHAR(10), PRIMARY KEY (id), FOREIGN KEY (id) REFERENCES n(id), UNIQUE (name));
CREATE TABLE m(id INT, name VARCHAR(10));
# 直接將查詢結果導入或復制到新創建的表
CREATE TABLE n SELECT * FROM m;
# 新創建的表與一個存在的表的數據結構類似
CREATE TABLE m LIKE n;
# 創建一個臨時表
# 臨時表將在你連接MySQL期間存在。當斷開連接時,MySQL將自動刪除表并釋放所用的空間。也可手動刪除。
CREATE TEMPORARY TABLE l(id INT, name VARCHAR(10));
# 直接將查詢結果導入或復制到新創建的臨時表
CREATE TEMPORARY TABLE tt SELECT * FROM n;
# 刪除一個存在表
DROP TABLE IF EXISTS m;
# 更改存在表的名稱
ALTER TABLE n RENAME m;
RENAME TABLE n TO m;

# 查看表的創建語句
SHOW CREATE TABLE n;

4.數據庫表結構查看

# 添加字段
ALTER TABLE n ADD age VARCHAR(2) ;
# 刪除字段
ALTER TABLE n DROP age;
# 更改字段屬性和屬性
ALTER TABLE n CHANGE age a INT;
# 只更改字段屬性
ALTER TABLE n MODIFY age VARCHAR(7) ;

5.數據庫表數據

# 增加數據
INSERT INTO n VALUES (1, 'tom', '23'), (2, 'john', '22');
INSERT INTO n SELECT * FROM n;  # 把數據復制一遍重新插入
# 刪除數據
DELETE FROM n WHERE id = 2;
# 更改數據
UPDATE n SET name = 'tom' WHERE id = 2;
# 數據查找
SELECT * FROM n WHERE name LIKE '%h%';
# 數據排序(反序)
SELECT * FROM n ORDER BY name, id DESC ;

6.數據庫表鍵

# 添加主鍵
ALTER TABLE n ADD PRIMARY KEY (id);
ALTER TABLE n ADD CONSTRAINT pk_n PRIMARY KEY (id);   # 主鍵只有一個,所以定義鍵名似乎也沒有什么用
# 刪除主鍵
ALTER TABLE n DROP PRIMARY KEY ;
# 添加外鍵
ALTER TABLE m ADD FOREIGN KEY (id) REFERENCES n(id);    # 自動生成鍵名m_ibfk_1
ALTER TABLE m ADD CONSTRAINT fk_id FOREIGN KEY (id) REFERENCES n(id);   # 使用定義的鍵名fk_id
# 刪除外鍵
ALTER TABLE m DROP FOREIGN KEY `fk_id`;
# 修改外鍵
ALTER TABLE m DROP FOREIGN KEY `fk_id`, ADD CONSTRAINT fk_id2 FOREIGN KEY (id) REFERENCES n(id);    # 刪除之后從新建
# 添加唯一鍵
ALTER TABLE n ADD UNIQUE (name);
ALTER TABLE n ADD UNIQUE u_name (name);
ALTER TABLE n ADD UNIQUE INDEX u_name (name);
ALTER TABLE n ADD CONSTRAINT u_name UNIQUE (name);
CREATE UNIQUE INDEX u_name ON n(name);
# 添加索引
ALTER TABLE n ADD INDEX (age);
ALTER TABLE n ADD INDEX i_age (age);
CREATE INDEX i_age ON n(age);
# 刪除索引或唯一鍵
DROP INDEX u_name ON n;
DROP INDEX i_age ON n;

7.數據庫視圖

# 創建視圖
CREATE VIEW v AS SELECT id, name FROM n;
CREATE VIEW v(id, name) AS SELECT id, name FROM n;
# 查看視圖(與表操作類似)
SELECT * FROM v;
DESC v;
# 查看創建視圖語句
SHOW CREATE VIEW v;
# 更改視圖
CREATE OR REPLACE VIEW v AS SELECT name, age FROM n;
ALTER VIEW v AS SELECT name FROM n ;
# 刪除視圖
DROP VIEW IF EXISTS v;

8.數據庫聯接

# 內聯接
SELECT * FROM m INNER JOIN n ON m.id = n.id;
# 左外聯接
SELECT * FROM m LEFT JOIN n ON m.id = n.id;
# 右外聯接
SELECT * FROM m RIGHT JOIN n ON m.id = n.id;
# 交叉聯接
SELECT * FROM m CROSS JOIN n;   # 標準寫法
SELECT * FROM m, n;
# 類似全連接full join的聯接用法
SELECT id,name FROM m
UNION
SELECT id,name FROM n;

9.數據庫函數

# 聚合函數
SELECT count(id) AS total FROM n;   # 總數
SELECT sum(age) AS all_age FROM n;   # 總和
SELECT avg(age) AS all_age FROM n;   # 平均值
SELECT max(age) AS all_age FROM n;   # 最大值
SELECT min(age) AS all_age FROM n;   # 最小值
# 數學函數
SELECT abs(-5);   # 絕對值
SELECT bin(15), oct(15), hex(15);   # 二進制,八進制,十六進制
SELECT pi();   # 圓周率3.141593
SELECT ceil(5.5);   # 大于x的最小整數值6
SELECT floor(5.5);   # 小于x的最大整數值5
SELECT greatest(3,1,4,1,5,9,2,6);   # 返回集合中最大的值9
SELECT least(3,1,4,1,5,9,2,6);    # 返回集合中最小的值1
SELECT mod(5,3);    # 余數2
SELECT rand();    # 返回0到1內的隨機值,每次不一樣
SELECT rand(5);   # 提供一個參數(種子)使RAND()隨機數生成器生成一個指定的值。
SELECT round(1415.1415);   # 四舍五入1415
SELECT round(1415.1415, 3);   # 四舍五入三位數1415.142
SELECT round(1415.1415, -1);    # 四舍五入整數位數1420
SELECT truncate(1415.1415, 3);    # 截短為3位小數1415.141
SELECT truncate(1415.1415, -1);   # 截短為-1位小數1410
SELECT sign(-5);    # 符號的值負數-1
SELECT sign(5);    # 符號的值正數1
SELECT sqrt(9);   # 平方根3
SELECT sqrt(9);   # 平方根3
# 字符串函數
SELECT concat('a', 'p', 'p', 'le');   # 連接字符串-apple
SELECT concat_ws(',', 'a', 'p', 'p', 'le');   # 連接用','分割字符串-a,p,p,le
SELECT insert('chinese', 3, 2, 'IN');    # 將字符串'chinese'從3位置開始的2個字符替換為'IN'-chINese
SELECT left('chinese', 4);   # 返回字符串'chinese'左邊的4個字符-chin
SELECT right('chinese', 3);   # 返回字符串'chinese'右邊的3個字符-ese
SELECT substring('chinese', 3);   # 返回字符串'chinese'第三個字符之后的子字符串-inese
SELECT substring('chinese', -3);   # 返回字符串'chinese'倒數第三個字符之后的子字符串-ese
SELECT substring('chinese', 3, 2);   # 返回字符串'chinese'第三個字符之后的兩個字符-in
SELECT trim(' chinese ');    # 切割字符串' chinese '兩邊的空字符-'chinese'
SELECT ltrim(' chinese ');    # 切割字符串' chinese '兩邊的空字符-'chinese '
SELECT rtrim(' chinese ');    # 切割字符串' chinese '兩邊的空字符-' chinese'
SELECT repeat('boy', 3);    # 重復字符'boy'三次-'boyboyboy'
SELECT reverse('chinese');    # 反向排序-'esenihc'
SELECT length('chinese');   # 返回字符串的長度-7
SELECT upper('chINese'), lower('chINese');    # 大寫小寫 CHINESE    chinese
SELECT ucase('chINese'), lcase('chINese');    # 大寫小寫 CHINESE    chinese
SELECT position('i' IN 'chinese');    # 返回'i'在'chinese'的第一個位置-3
SELECT position('e' IN 'chinese');    # 返回'i'在'chinese'的第一個位置-5
SELECT strcmp('abc', 'abd');    # 比較字符串,第一個參數小于第二個返回負數- -1
SELECT strcmp('abc', 'abb');    # 比較字符串,第一個參數大于第二個返回正數- 1
# 時間函數
SELECT current_date, current_time, now();    # 2018-01-13   12:33:43    2018-01-13 12:33:43
SELECT hour(current_time), minute(current_time), second(current_time);    # 12  31   34
SELECT year(current_date), month(current_date), week(current_date);   # 2018    1   1
SELECT quarter(current_date);   # 1
SELECT monthname(current_date), dayname(current_date);   # January  Saturday
SELECT dayofweek(current_date), dayofmonth(current_date), dayofyear(current_date);    # 7   13  13
# 控制流函數
SELECT if(3>2, 't', 'f'), if(3<2, 't', 'f');    # t f
SELECT ifnull(NULL, 't'), ifnull(2, 't');    # t 2
SELECT isnull(1), isnull(1/0);    # 0 1 是null返回1,不是null返回0
SELECT nullif('a', 'a'), nullif('a', 'b');    # null a 參數相同或成立返回null,不同或不成立則返回第一個參數
SELECT CASE 2
       WHEN 1 THEN 'first'
       WHEN 2 THEN 'second'
       WHEN 3 THEN 'third'
       ELSE 'other'
       END ;     # second
# 系統信息函數
SELECT database();    # 當前數據庫名-test
SELECT connection_id();   # 當前用戶id-306
SELECT user();    # 當前用戶-root@localhost
SELECT version();   # 當前mysql版本
SELECT found_rows();    # 返回上次查詢的檢索行數

10.數據庫用戶管理

# 增加用戶
CREATE USER 'test'@'localhost' IDENTIFIED BY 'test';
INSERT INTO mysql.user(Host, User, Password) VALUES ('localhost', 'test', Password('test'));    # 在用戶表中插入用戶信息,直接操作User表不推薦
# 刪除用戶
DROP USER 'test'@'localhost';
DELETE FROM mysql.user WHERE User='test' AND Host='localhost';
FLUSH PRIVILEGES ;
# 更改用戶密碼
SET PASSWORD FOR 'test'@'localhost' = PASSWORD('test');
UPDATE mysql.user SET Password=Password('t') WHERE User='test' AND Host='localhost';
FLUSH PRIVILEGES ;
# 用戶授權
GRANT ALL PRIVILEGES ON *.* TO test@localhost IDENTIFIED BY 'test';
# 授予用'test'密碼登陸成功的test@localhost用戶操作所有數據庫的所有表的所有的權限
FLUSH PRIVILEGES ;   # 刷新系統權限表,使授予權限生效
# 撤銷用戶授權
REVOKE DELETE ON *.* FROM 'test'@'localhost';   # 取消該用戶的刪除權限

11數據庫備份與還原

# 數據庫備份
mysqldump -u root -p db_name > file.sql
mysqldump -u root -p db_name table_name > file.sql
# 數據庫還原
mysql -u root -p <  file.sql

關于“MYSQL數據庫中的常用語句命令有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绥江县| 连州市| 涿鹿县| 什邡市| 大连市| 吴江市| 乐陵市| 北宁市| 筠连县| 公主岭市| 云阳县| 环江| 郧西县| 玉树县| 郎溪县| 永平县| 宁河县| 孝感市| 遂宁市| 平安县| 饶河县| 连城县| 武平县| 高淳县| 临朐县| 西畴县| 宜君县| 健康| 长武县| 新兴县| 陆川县| 荆门市| 长垣县| 墨玉县| 吴旗县| 淅川县| 新巴尔虎右旗| 清水河县| 乌兰县| 瑞安市| 营山县|