MYSQL學習筆記 2019

2022-05-12 08:38:52 字數 3742 閱讀 5854

/*啟動mysql */net start mysql

/*連線與斷開伺服器 */mysql -h 位址 -p 埠 -u 使用者名稱 -p 密碼

/*跳過許可權驗證登入mysql */mysqld --skip-grant-tables--修改root密碼

密碼加密函式password()

update mysql.user set password=password('root');

show processlist --顯示哪些執行緒正在執行

show variables --

/*資料庫操作 */ --------------------檢視當前資料庫

select database();

--顯示當前時間、使用者名稱、資料庫版本

select now(), user(), version();

--建立庫

create database[if not exists]資料庫名 資料庫選項

資料庫選項:

character setcharset_name

collate collation_name

--檢視已有庫

show databases[like 'pattern']

--檢視當前庫資訊

show create database資料庫名

--修改庫的選項資訊

alter database庫名 選項資訊

--刪除庫

drop database[if exists]資料庫名

同時刪除該資料庫相關的目錄及其目錄內容

/*表的操作 */ --------------------建立表

create [temporary] table[if not exists] [庫名.]表名 ( 表的結構定義 )[表選項]每個字段必須有資料型別

最後乙個欄位後不能有逗號

temporary臨時表,會話結束時表自動消失

對於欄位的定義:

欄位名 資料型別 [not null | null] [default default_value] [auto_increment] [unique [key] | [primary] key] [comment 'string']

--表選項

--字符集

charset =charset_name

如果表沒有設定,則使用資料庫字符集

--儲存引擎

engine =engine_name

表在管理資料時採用的不同的資料結構,結構不同會導致處理方式、提供的特性操作等不同

常見的引擎:innodb myisam memory/heap bdb merge example csv maxdb archive

不同的引擎在儲存表的結構和資料時採用不同的方式

myisam表檔案含義:.frm表定義,.myd表資料,.myi表索引

innodb表檔案含義:.frm表定義,表空間資料和日誌檔案

show engines --顯示儲存引擎的狀態資訊

show engine 引擎名 --顯示儲存引擎的日誌或狀態資訊

--資料檔案目錄

data directory = '目錄'

--索引檔案目錄

index directory = '目錄'

--表注釋

comment = 'string'

--分割槽選項

partition by... (詳細見手冊)

--檢視所有表

show tables[like 'pattern']show tables from表名

--檢視表機構

show create table表名 (資訊更詳細)

desc 表名 / describe 表名 / explain 表名 / show columns from 表名 [like 'pattern']show table status [from db_name] [like 'pattern']

--修改表

--修改表本身的選項

alter table表名 表的選項

eg: alter table 表名 engine=myisam;

--對錶進行重新命名

rename table 原表名 to新錶名

rename table 原表名 to庫名.表名 (可將表移動到另乙個資料庫)

--rename可以交換兩個表名

--修改表的字段機構

alter table表名 操作名

--操作名

add[column] 欄位名 --增加字段

after 欄位名 --表示增加在該欄位名後面

first --表示增加在第乙個

add primary key(欄位名) --建立主鍵

add unique [索引名] (欄位名)--建立唯一索引

add index [索引名] (欄位名) --建立普通索引

add

drop[column] 欄位名 --刪除字段

modify[column] 欄位名 字段屬性 --支援對欄位屬性進行修改,不能修改欄位名(所有原有屬性也需寫上)

change[column] 原欄位名 新欄位名 字段屬性 --支援對欄位名修改

drop primary key --刪除主鍵(刪除主鍵前需刪除其auto_increment屬性)

drop index 索引名 --刪除索引

drop foreign key 外來鍵 --刪除外來鍵

--刪除表

drop table[if exists]表名 ...

--清空表資料

truncate [table]表名

--複製表結構

create table 表名 like要複製的表名

--複製表結構和資料

create table 表名 [as] select * from要複製的表名

--檢查表是否有錯誤

check table tbl_name [, tbl_name] ... [option]...

--優化表

optimize [local | no_write_to_binlog] table tbl_name [, tbl_name]...

--修復表

repair [local | no_write_to_binlog] table tbl_name [, tbl_name] ... [quick] [extended] [use_frm]

--分析表

analyze [local | no_write_to_binlog] table tbl_name [, tbl_name]...

/*資料操作 */ --------------------增

insert [into] 表名 [(字段列表)] values (值列表)[, (值列表), ...]

--如果要插入的值列表包含所有字段並且順序一致,則可以省略字段列表。

--可同時插入多條資料記錄!

replace 與 insert完全一樣,可互換。

insert [into] 表名 set 欄位名=值[, 欄位名=值, ...]

--查 select 字段列表 from 表名[其他子句]

--可來自多個表的多個字段

--其他子句可以不使用

--欄位列表可以用*代替,表示所有字段

mysql學習筆記 51 mysql學習筆記

初學mysql時整理,隨時更新 資料操作 增 insert into 表名 字段列表 values 值列表 值列表 如果要插入的值列表包含所有字段並且順序一致,則可以省略字段列表。可同時插入多條資料記錄!replace 與 insert 完全一樣,可互換。insert into 表名 set 欄位名...

mysql學習筆記 51 Mysql 學習筆記

一.首先進入mysql mysql u root p新增使用者許可權設定 grant all privileges on to jerry localhost identified by aa1234567 只允許本機訪問 grant all privileges on to jerry 10.80...

mysql做筆記 mysql學習筆記

alter table 新增,修改,刪除表的列,約束等表的定義。檢視列 desc 表名 修改表名 alter table t book rename to bbb 新增列 alter table 表名 add column 列名 varchar 30 刪除列 alter table 表名 drop ...