MySQL基本知識

2021-09-02 17:28:44 字數 3868 閱讀 8681

建立資料庫  create database 資料庫;

檢視指定資料庫   show create database 資料庫;

檢視資料庫(所有的) show databases;

使用資料庫          use 資料庫

刪除資料庫   drop database 資料庫;(不能一次刪除多個!)

建立表     create table 表名(列名 資料型別 [not null] [primary key],列名 資料型別 [not null],..) 

檢視所有表           show tables

檢視乙個表資料     select * from 表名        *代表所有列  也可以select  列名 from 表名

刪除表                 drop table 表名

更改表名              rename table 舊表名 to 新錶名

增加表內容 插入資料     insert  into  表名(列名,列名...)values(值,值...)

修改列中的一條記錄      update  表名  set   列=值   where   列=值   

刪除列中的一條記錄      delete  from  表名   where   列=值  

增加乙個列                  alter table 表名 add 列名 資料型別

刪除乙個列                  alter table 表名 drop column 列名 

修改乙個列名              alter table  表名 change 列名  新列名 資料型別;

desc 降序排列

asc   公升序排列

delete 刪除記錄  結構依然存在   即還可以找到   執行後有提交過程

drop   結構和資料都刪除     一步操作完成

unique 去掉相同的

查詢前5條資料   select *from 表 limit 5;

select * from表 order by id asc limit 5

select *from 表 limit 0,5;從0開始,取5條

查詢後5條資料  select * from表 order by id desc limit 5

一、按型別區分

索引型別:定義表索引的型別

normal索引是最近本的索引,沒有對唯一性的限制   

普通索引(由關鍵字key或index定義的索引)的唯一任務是加快對資料的訪問速度。

unique索引和normal類似,只是索引列的全部值必須只能出現一次

建立唯一索引的目的往往不是為了提高訪問速度,而只是為了避免資料出現重複。

full text索引用於mysql全文索引,用於在一篇文章中,檢索文字資訊。innodb不支援,myisam支援效能比較好,一般在 char、varchar 或 text 列上建立。

主鍵索引 針對主鍵的檢索,設定某字段為primary key主鍵 

主索引與唯一索引的唯一區別是:前者在定義時使用的關鍵字是primary而不是unique。

主鍵就是唯一索引的一種,主鍵要求建表時指定,一般用auto_increatment列,關鍵字是primary key 

索引方法:當建立索引時,指定索引型別,btree或者hash(全文搜尋的時候沒有)

如果為某個外來鍵字段定義了乙個外來鍵約束條件,mysql就會定義乙個內部索引來幫助自己以最有效率的方式去管理和使用外來鍵約束條件。

二、按欄位數量分

1.mysql索引分為單列索引和組合索引 

單列索引:乙個索引包含單個列,乙個表可以有多個單列索引。

組合索引:乙個索引包含多列。(符合最左字首) 

索引可以是單列索引也可以是多列索引(也叫復合索引)。按照上面形式建立出來的索引是單列索引,現在先看看建立多列索引:

create table test3 (id int not null primary key auto_increment, account int(12) not null default '',account_type int(2) not null,index(account,account_type))type

=myisam;

注意:index(a, b, c)可以當做a或(a, b)的索引來使用,但和b、c或(b,c)的索引來使用這是乙個最左字首的優化方法。

三、建立索引

sql語句建立索引

建立索引:

create unique index 索引名 on 表名(列名);

alter table 表名 add unique index 索引名 (列名);

create[unique|fulltext|spatial]indexindex_name

[using index_type]

ontable_name (index_col_name,...)

刪除索引:

drop index 索引名 on 表名;

alter table 表名 drop index 索引名;

修改索引

在mysql中並沒有提供修改索引的直接指令,一般情況下,我們需要先刪除掉原索引,再根據需要建立乙個同名的索引,從而變相地實現修改索引操作。

--先刪除

altertableuser

dropindexidx_user_username;

--再以修改後的內容建立同名索引

createindexidx_user_usernameonuser(username(8));

檢視索引

在mysql中,要檢視某個資料庫表中的索引也非常簡單,只需要使用以下兩個命令中的任意一種即可。

--如果檢視索引前,沒有使用user db_name等命令指定具體的資料庫,則必須加上from db_name

showindexfromtable_name [fromdb_name]

--如果檢視索引前,沒有使用user db_name等命令指定具體的資料庫,則必須加上db_name.字首

showindexfrom[db_name.]table_name

四、合理建立索引

1.在表中有where和join中出現的列需要建立索引,mysql只針對<,<=,=,>,>=,between,in以及like才會使用索引 

2.表中某屬性的字段(如user_key)是唯一的不能為空。可以建立unique索引。 

3.索引不是越多越好,如果索引過多,更新表資料時候也會很耗時。 

參考檔案: 

建立索引的原則 

mysql索引優化 

索引的原理

mySQL基本知識

五 字符集 ascii 128個 美式字符集 iso 8859 1 latin1 西歐字符集 255個字元 gb2312 7千多個簡體漢字 gbk 2萬多個漢字 中文常用 utf 8 unicode字符集中最流行的一種實現方式 國際化用它 六 資料庫設計 sybase powerdesigner12...

mysql 基本知識

主要筆記 mysql幫助文件 1,比較常見的建立mysql表的方法 drop table if exists tablname create table tablename create defination table options a.create table if not exists ta...

mysql基本知識

映象複製 內容動態複製到其他計算機 gis函式 全文檢索 簡化對文字欄位內單詞的搜尋 不支援自定義資料型別 不支援xml myisam 靜態 預定義固定長度 儲存效率高 壓縮 減少儲存空間 innodb 支援事務,資料行級鎖定機制,外來鍵約束,不支援全文索引和gis資料 heap 存在於記憶體中,訪...