mysql是乙個關係型資料庫管理系統,由瑞典mysqlab公司開發,目前屬於oracle旗下產品。mysql 最流行的關係型資料庫管理系統,在 web 應用方面mysql是最好的rdbms (relational database management system,關聯式資料庫管理系統) 應用軟體之一。
l innodb事務型資料庫的首選引擎,支援acid事務,支援行級鎖定, mysql 5.5 起成為預設資料庫引擎.
l cluster/ndb高冗餘的儲存引擎,用多台資料機器聯合提供服務以提高整體效能和安全性。適合資料量大,安全和效能要求高的應用
l啟動mysql服務:
cd user/bin
./saft_mysqld &
windows的啟動方式:net start mysql
l關閉mysql服務:
cd user/bin
./mysqladmin –u root –p shutdown
windows的關閉方式:net stop mysqsl
l 使用者登入到資料庫:mysql–u 使用者名稱 –p,回車之後輸入密碼
l設定使用者方式一:
insert into user (host, user, password, select_priv,insert_priv, update_priv) values ('localhost', 'guest', password('guest123'),'y', 'y', 'y');
l設定使用者方式二:
grant select,insert,update,delete,create,drop ontutorials.* to 'zara'@'localhost' identified by 'zara123';
l show databases:列出 mysql 資料庫管理系統的資料庫列表。
l use 資料庫名:選擇要操作的mysql資料庫,使用該命令後所有mysql命令都只針對該資料庫
l show tables:顯示指定資料庫的所有表,使用該命令前需要使用 use 命令來選擇要操作的資料庫
l show columns from 資料表:顯示資料表的屬性,屬性型別,主鍵資訊,是否為 null,預設值等其他資訊
l show index from 資料表:顯示資料表的詳細索引資訊,包括primary key(主鍵)
l show table status from 資料庫名 like 表名:輸出mysql資料庫管理系統的效能及統計資訊
建立資料庫:createdatabase 資料庫名
刪除資料庫:dropdatabase 資料庫名
建立資料庫表:
create table test(
id int not null auto_increment,
name varchar(32) not null,
address varchar(128) not null,
birthday date,
primary key(id)
刪除資料庫表:
drop table 資料表;
插入資料:
insert into table_name ( field1, field2,...fieldn )
values
( value1, value2,...valuen);
刪除資料:
delete from table_name [where xx]
mysql事務:
事務必須滿足4個條件(acid): atomicity(原子性)、consistency(穩定性)、isolation(隔離性)、durability(可靠性)
mysql索引:
單列索引,即乙個索引只包含單個列,乙個表可以有多個單列索引,但這不是組合索引。
組合索引,即乙個索包含多個列。
索引的建立對於mysql的高效執行是很重要的,索引可以大大提高mysql的檢索速度。
雖然索引大大提高了查詢速度,同時卻會降低更新表的速度,如對表進行insert、update和delete。因為更新表時,mysql不僅要儲存資料,還要儲存一下索引檔案。建立索引會占用磁碟空間的索引檔案
建立索引的方式:
l 建立表的同時建立索引:
create table mytable(
id int not null,
username varchar(16) not null,
index [indexname] (username(length))
l 直接建立索引:
create index indexname on mytable(username(length));
l 修改表介面建立索引:
alter mytable add index [indexname] on (username(length))
刪除索引:drop index[indexname] on mytable;
唯一索引:
與普通索引類似,不同的就是:索引列的值必須唯一,但允許有空值。如果是組合索引,則列值的組合必須唯一
主鍵:
主鍵只能作用於乙個列上,新增主鍵索引時,你需要確保該主鍵預設不為空(not null)
mysql臨時表:
mysql臨時表在我們需要儲存一些臨時資料時是非常有用的。臨時表只在當前連線可見,當關閉連線時,mysql會自動刪除表並釋放所有空間
臨時表的建立方法:
l 可以用建立資料表的方式建立臨時表(在table前面加關鍵字temporary):
create temporary table temp_table_name(……)
l 可以在查詢已存在表資料的同時建立臨時表:
create temporary table temp_table_name(select id,name from table_name)
showcreate table table_name:可以檢視建立表的完整語句
mysql序列:
建立表時,如果使用序列,可以指定序列初始值:auto_increment = 100
也可以修改表來指定序列初始值:alter table table_nameauto_increment = 100
l concat(str1,str2,…):字串連線函式
l concat_ws(separator,str1,str2,...):concat_ws() 代表 concatwith separator ,是concat()的特殊形式。第乙個引數是其它引數的分隔符。分隔符的位置放在要連線的兩個字串之間。分隔符可以是乙個字串,也可以是其它引數。
l group_concat:group_concat([distinct] 要連線的字段 [order byasc/desc 排序字段] [separator '分隔符'])
l repeat()函式:用來複製字串,如:select repeat('ab',2);
l left(str, length):從左開始擷取字串
l right(str, length):從右開始擷取字串
l substring(str, pos),substring(str, pos, length):substring(被擷取字段,從第幾位開始擷取), substring(被擷取字段,從第幾位開始擷取,擷取長度)
l 數學函式:abs(x),mod(n,m),floor(x),round(x),pow(x,y)等
資料庫學習筆記
組員 徐文棟11511010057,王清德11511010022 徐文棟學習筆記 1.學習登入進入,使用資料庫開始 執行 cmd 進入 c mysql uroot p 密碼 建立 create database 資料庫名 檢視 show databases 使用 use 資料庫名 刪除 drop d...
資料庫學習筆記八 資料庫索引
一 索引 索引 index 是幫助 mysql 高效獲取資料的資料結構。常見的查詢演算法,順序查詢,二分查詢,二 叉排序樹查詢,雜湊雜湊法,分塊查詢,平衡多路搜尋樹 b 樹 b tree 二 選擇唯一性索引 1 唯一性索引的值是唯一的,可以更快速的通過該索引來確定某條記錄。2 為經常需要排序 分組和...
資料庫學習筆記 關聯式資料庫
關係模型由關係資料結構,關係操作集合,關係完整性約束三部分組成 基數 m 候選碼 某一屬性值能唯一確定乙個元組 全碼 關係模型中所有屬性組都是候選碼 外碼 r的乙個屬性f是s的主碼,稱f為r的外碼 r為參照關係,s為被參照關係 外碼取空值表示尚不存在,不取空值表示是另乙個表的主碼值。分量必須取原子值...