日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

mysql知识点回顾(一)

發布時間:2025/4/9 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql知识点回顾(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
回顧mysql中的常用知識點

?

上圖為win版本啟動關閉服務方式。 連接mysql命令:mysql -u alex -p 查看所有數據庫:show databases; use db_name ;切換數據庫 show tables; 顯示所有表 select * from 表名; select name,age,id from 表名; 連接: 默認:用戶root 創建用戶: create user 'alex'@'192.168.1.1' identified by '123123'; ?identified 設置密碼 create user 'alex'@'192.168.1.%' identified by '123123'; ?%代表任意 create user 'alex'@'%' identified by '123123'; ?所有ip 用戶管理 創建用戶 create user '用戶名'@'IP地址' identified by '密碼'; 刪除用戶 drop user '用戶名'@'IP地址'; 修改用戶 rename user '用戶名'@'IP地址'; to '新用戶名'@'IP地址';; 修改密碼 set password for '用戶名'@'IP地址' = Password('新密碼') PS:用戶權限相關數據保存在mysql數據庫的user表中,所以也可以直接對其進行操作(不建議) 授權 權限? ? 人 grant 權限 grant select,insert on db1.t1 to 'alex'@'%' ; 設置alex只能查看db1數據庫的t1表 ? grant all privileges on db1.t1 to 'alex'@'%' ; alex除了grant以外的所有權限都可以 revoke?all privileges from db1.t1 to 'alex'@'%' ; 取消這條權限 show grants for '用戶'@'IP地址'????????????????? -- 查看權限 grant? 權限 on 數據庫.表 to?? '用戶'@'IP地址'????? -- 授權 revoke 權限 on 數據庫.表 from '用戶'@'IP地址'????? -- 取消權限 SQL語句規則 操作文件夾(操作數據庫) create database db2; create database db2 default charset utf8; 數據庫默認utf8 show databases; drop database db2; 操作文件(操作表) show tables; create table t1(id int,name char(10)); 創建表,id,name字段,name限制10 個字符,超出取前十個。 create table t1(id int,name char(10)) default charset=utf8; 表默認是utf8 create table t1( ? ? #列名,類型,null, ?? ?#列名,類型,not null,不可以為空 ? ? #列名,類型,not null,default 1, ?? ?#列名,類型,not null,auto_increment,自增 ?? ?id int, ?? ?name char(10) ) engine=innodb default charset=utf8; 表默認是utf8,引擎默認是innodb select * from t1; innodb 支持事務,可以回滾,原子性操作。 myisam 不支持事務 auto_increment 表示:自增 primary key:表示,約束(不能重復,且不能為空);加速查找, 一個表里只能有一個自增列,只能有一個主鍵。但是主鍵不一定是一行。 清空表: delete from t1; 清空表,新增數據的自增id從之前的接著。 truncate table t1;清空表,自增id從頭開始。 刪除表: drop table t1; 查看表結構以及類型: desc tabename; 查看表是如何創建的: show create table? tablename; show create table? tablename \G;?加一個\G?可以去掉空格 自增: 通過命令?更改下次插入數據時,自增ID的值: alter table tablename AUTO_INCREMENT=13;更改下次插進來數字,自增主鍵為13 mysql中自增的步長

?

操作文件內容(操作內容) 插入數據: insert into t1(id,name) values(1,'egon'); 刪除數據: delete from t1 where id<6 修改: update t1 set age=18;?將age列全部修改為18 update t1 set age=18 where age=17;?將age為17的改為18 查看數據: select * from t1; create table t3(id int auto_increment primary key,name char(10)) default charset=utf8; ?設置id為主鍵 并自增。 insert into t3(name) values('abcdef'); ?所以插入數據的時候只需要插入name字段即可。 數據類型 數字 tinyint? int unsigned 表示創建表的時候字段屬性沒有符號(比如負號) signed 表示有符號的 bigint 以上三種就是長度的區別 FLOAT 只能表示不太精準的小數,如果長度不大,可以使用 DOUBLE 只能表示不太精準的小數,如果長度不大,可以使用 decimal 該類型小數非常精準,因為內部原理是將長的小數按字符串存儲的。 decimal(10,5) ?10代表總位數,5代表小數點后幾位 bigint支持的數字的大小范圍為: 19位,存電話號碼等。 有符號范圍:-9223372036854775808 到 9223372036854775807 int支持的數字范圍為: 10位, 有符號范圍:-2147483648 到 2147483647??? 無符號范圍:0-4294967295 字符串 char(10) ? ? 如果字符沒有占滿,則會自動填充至10個字符,比如填充空格 varchar(10) ? ? 如果沒有填滿,在硬盤中只會占用實際字符長度,節省空間,查找速度沒有char快11 char和varchar最高只能存儲255個字符 text可以存儲65535個字符 如果更多的內容,需要寫到文件中,將路徑寫到數據庫。 優化建議:創建表時,將定長的數據往前放,變長的往后放。 時間類型 DATETIME 枚舉 enum

?

相當于給插入數據的時候規定了一個選項 單選字符串數據類型,適合存儲表單界面中的“單選值”。 設定enum的時候,需要給定“固定的幾個選項”;存儲的時候就只存儲其中的一個值。 設定enum的格式: enum("選項1","選項2","選項3",...); 實際上,enum的選項都會對應一個數字,依次是1,2,3,4,5...,最多有65535個選項 使用的時候,可以使用選項的字符串格式,也可以使用對應的數字。

?

SET規定,只能插入a,b,c,d的任意組合   多選字符串數據類型,適合存儲表單界面的“多選值”。 設定set的時候,同樣需要給定“固定的幾個選項”;存儲的時候,可以存儲其中的若干個值。 設定set的格式: set("選項1","選項2","選項3",...) 同樣的,set的每個選項值也對應一個數字,依次是1,2,4,8,16...,最多有64個選項 使用的時候,可以使用set選項的字符串本身(多個選項用逗號分隔),也可以使用多個選項的數字之和(比如:1+2+4=7) ===================================================================================== 外鍵 create table userinfo( uid bigint auto_increment primary key, name varchar(32), department_id int, constraint fk_user_depart foreign key ("department_id",) references department('id')? ?#外鍵約束 )engine=innodb default charset=utf8; create table department( id?bigint auto_increment primary key, ? ? title char(15) )engine=innodb default charset=utf8; 外鍵的名字,上面標紅處不能與別的外鍵重名,建議用表_表這種起名 主鍵:

?

上圖為主鍵的兩種寫法。 一個表只能有一個主鍵,主鍵可以由多列組成。

轉載于:https://www.cnblogs.com/ArmoredTitan/p/8492159.html

總結

以上是生活随笔為你收集整理的mysql知识点回顾(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。