您好,登錄后才能下訂單哦!
下文主要給大家?guī)?a title="MySQL" target="_blank" href="http://kemok4.com/mysql/">MySQL常用SQL語句及使用實例,希望這些內(nèi)容能夠帶給大家實際用處,這也是我編輯MySQL常用SQL語句及使用實例這篇文章的主要目的。好了,廢話不多說,大家直接看下文吧。
關(guān)系型數(shù)據(jù)庫設(shè)計范式:
第一范式:當(dāng)關(guān)系模式R的每個關(guān)系屬性都是不可分的數(shù)據(jù)項,那么就成R是第一范式的模式(1NF)
簡單說法:字段是原子性的
第二范式:黨關(guān)系模式R是2NF,且關(guān)系模式R(U,F(xiàn))中的所有非主屬性對任何候選關(guān)鍵字不存在傳遞依賴,則稱關(guān)系R是屬于第三范式
簡單說法:存在可用主鍵
第三模式:當(dāng)關(guān)系模式R是2NF,且關(guān)系模式R(U,F(xiàn))中的所有非主屬性對任何候選關(guān)鍵字都不存在傳遞依賴,則稱關(guān)系R是屬于第三方范式
簡單說法:任何表都不應(yīng)該有依賴于其他表非主鍵的字段
數(shù)據(jù)庫組件:
數(shù)據(jù)庫,表,索引,視圖,用戶,權(quán)限
編程接觸的組件:(觸發(fā)器,存儲過程,存儲函數(shù),事件調(diào)度器)
mysql安裝完成之后的安全配置(mysql_secure_installation:一鍵配置腳本)
1、刪除mysql匿名用戶
2、為所有root用戶設(shè)置密碼
3、關(guān)閉主機名反解功能
SQL語句類型:
DDL:數(shù)據(jù)庫定義語言
create,drop,alter
DML:數(shù)據(jù)庫操作語言
insert,delete,update,select
DCL:數(shù)據(jù)控制語言
grant,revoke
常用SQL語句:
create:
CREATE DATABASE #創(chuàng)建數(shù)據(jù)庫
CREATE DATABASE CHARACTER SET charset_name db_name; #創(chuàng)建數(shù)據(jù)庫并設(shè)置字符編碼
CREATE TABLE table_name(字段名,字段數(shù)據(jù)類型,約束條件)
#創(chuàng)建表
數(shù)據(jù)類型:
×××:int
tinyint #1byte
smallint #2byte
mediumint #3byte
int #4byte
bigint #8byte
字符型:
char #固定長度字符型(不區(qū)分大小寫)
varchar #可變長度字符型(不區(qū)分大小寫)
binary #固定長度字符型(區(qū)分大小寫)
varbinary #可變長度字符型(區(qū)分大小寫)
約束條件:
NOT NULL #不允許為空
DEFAYULT #默認(rèn)值
PRIMARY KEY #主鍵
UNIQUE #唯一鍵
unsigned #無符號(適用于int類型)
auto_increment #自增,需要定義在一個鍵中(適用于int類型)
CREATE INDEX
#創(chuàng)建索引,索引是特殊的數(shù)據(jù)結(jié)構(gòu),用于搜索加速,一般定義在查找時作為查找條件的字段
例:create table test (id int primary key auto_increment, name varchar(50));
mycli:功能更強大的mysql客戶端,使用python開發(fā)的
#mysql客戶端工具
使用實例:
show global variables;
#查看全局參數(shù),有的參數(shù)能夠修改并立即生效,有的需要修改配置文件
show session variables; #mysql的當(dāng)前會話參數(shù)
show character set; #查看支持的字符集
show collation; #查看支持的排序規(guī)則
show engines; #查看支持的存儲引擎
show table status like 'user'\G #查看表狀態(tài)
show global variables like '%server%'; #數(shù)據(jù)庫id
show master logs; #查看二進制日志
show master status; #查看主云服務(wù)器狀態(tài)
show grants for 'dj'@'localhost'; #查看di用戶授權(quán)信息
show index from mysql.user; #查看索引
show databases; #查看數(shù)據(jù)庫
show tables; #查看數(shù)據(jù)庫的表
desc table_name #查看表結(jié)構(gòu)
select 字段名 from 表名 [where 查詢條件] #查看表中內(nèi)容
select * from user\G; #查看用戶的詳細(xì)信息
select database(); #查看默認(rèn)數(shù)據(jù)庫
select * from test where id>2 and id<4;
#查詢test表中id大于2小于4的數(shù)據(jù)
where條件:
> < >= <= == != and or not
like: 模糊查詢 rlike基于正則表達式的模糊查詢
drop database 數(shù)據(jù)庫名; #刪除數(shù)據(jù)庫
drop table 表名; #刪除指定表
drop user '用戶名'@'主機' #刪除用戶
update 表名 set 更改的值 where 條件匹配 #修改表中的數(shù)據(jù)
update test set name='liuxiao' where id=2;
delete from 表名 where 條件匹配 #刪除條件匹配的數(shù)據(jù)
delete from test where id=2;
insert into 表名 (字段1,字段2) values(字段1的值,字段2的值)
insert into test(name) values('xiaoqiao');
insert into 表名 (字段1,字段2) select語句
#插入通過select查詢得到的數(shù)據(jù)
insert into user (user,host,passwd) select User,Host,
Password from mysql.user;
grant 權(quán)限列表 on 數(shù)據(jù)庫.表 to '用戶名'@'授權(quán)主機' identified by '密碼' #授權(quán)用戶
revoke drop on 數(shù)據(jù)庫.表 from '用戶名'@'授權(quán)主機'; #撤銷授權(quán)
altar table 表名 add 字段名 字符型 #添加字段
alter table test ip varchar;
altar table 表名 change 源名 修改后的名 字符型 #更改字段
alter table test change ip sid int;
altar table 表名 drop 字段名 #刪除字段
alter table test drop sid;
set global 變量名=值; #設(shè)置全局參數(shù)
set session 變量名=值; #設(shè)置當(dāng)前會話參數(shù)
use 數(shù)據(jù)庫名; #指定默認(rèn)數(shù)據(jù)庫
create index 索引名 on 表名; #創(chuàng)建索引
flush privileges; #重讀授權(quán)表
創(chuàng)建表的三種方式:
1、直接創(chuàng)建
create teble 表名 (字段名1 字段類型,字段名2 字段類型)
2、復(fù)制表和表中的數(shù)據(jù)
create teble 表名 select語句
例:create teble test select User,Host,Password from mysql.user;
3、復(fù)制表結(jié)構(gòu)
create teble tbl_name like 模板表
例:create teble test2 LIKE test
對于以上關(guān)于MySQL常用SQL語句及使用實例,大家是不是覺得非常有幫助。如果需要了解更多內(nèi)容,請繼續(xù)關(guān)注我們的行業(yè)資訊,相信你會喜歡上這些內(nèi)容的。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。