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