MySQL常用語句集

2021-10-08 10:50:42 字數 3496 閱讀 6448

登入mysql:mysql -h [ip] -u [account] -p [password]

若-h選項無指定,則預設為本機(localhost / 127.0.0.1)

建立資料庫:create database [name];

刪除資料庫:drop database [name];

選擇資料庫:use [name];

建立資料表:

建立資料表需要:表名、表欄位名、定義表的每個字段

create table online_judge (

`id` int unsigned auto_increment,

`oj` varchar(40) not null,

`url` varchar(100) not null,

primary key (`id`) // 注:auto_increment只能作用在主鍵上

) engine=innodb default charset=utf8;

刪除資料表:drop table [name];

插入資料:

insert into online_judge

(oj, url)

values

("leetcode", "www.leetcode.com");

查詢資料:

更新資料:update online_judge set url="" where id = 1;

刪除資料:delete from online_judge where id = 1;

模糊匹配:

以查詢為例:select * from online_judge where url like "%org";

注意一定要加上%

並集:union 操作符用於連線兩個以上的 select 語句的結果組合到乙個結果集合中

select country from websites

union

order by country;排序:

select * from online_judge order by id desc;

desc是降序,asc是公升序

分組:group by語法:

select column_name, function(column_name)

from table_name

where column_name operator value

group by column_name;

連線:

select a.runoob_id, a.runoob_author, b.runoob_count from runoob_tbl a (inner) join tcount_tbl b on a.runoob_author = b.runoob_author

處理null:

如果要查詢的字段為null,需要用is null判斷

如果不為null,需要用is not null判斷

使用正規表示式:

select ... from ... where online_judge regexp '你的正規表示式'

事務(參考:菜鳥教程):

mysql 事務主要用於處理操作量大,複雜度高的資料。比如說,在人員管理系統中,你刪除乙個人員,你既需要刪除人員的基本資料,也要刪除和該人員相關的資訊,如信箱,文章等等,這樣,這些資料庫操作語句就構成乙個事務!

在 mysql 命令列的預設設定下,事務都是自動提交的,即執行 sql 語句後就會馬上執行 commit 操作。因此要顯式地開啟乙個事務務須使用命令 begin 或 start transaction,或者執行命令 set autocommit=0,用來禁止使用當前會話的自動提交。

事務控制語句:

alter命令:

當我們需要修改資料表名或者修改資料表字段時,就需要使用到alter命令。

alter table ... drop ...;(某個欄位名)

alter table ... add ... int;

alter table ... add ... varchar first; // 新增位置在first位置

alter table ... add ... varchar after ...; // 在某字段後增加

修改字段型別:

alter table ... modify ... char(11); // 修改某欄位型別為char

alter table ... change a b int; // 將a替換成int型別的字段b

alter table ... modify j bigint not null default 100; // 指定字段 j 為 not null 且預設值為100

修改字段預設值:

alter table ... alter ... set default ...;

alter table ... alter ... drop default;

修改表名:

alter table ... rename to ...;

建立臨時表:

臨時表只在當前連線可見,當關閉連線時,mysql會自動刪除表並釋放所有空間。

create temporary table ...(...)

複製表:

分兩步走:

(1)複製表結構:

通過show create table …; 來檢視源表結構,然後copy,將表名修改為新的表名

(2)拷貝表資料:

insert into ... (a,b,c,d) select a,b,c,d from ...

處理重複資料:

在 mysql 資料表中設定指定的字段為 primary key(主鍵) 或者 unique(唯一) 索引來保證資料的唯一性.

create table ... (

first_name char(20) not null,

last_name char(20) not null,

*** char(10),

primary key (last_name, first_name)

);

設定了唯一索引,那麼在插入重複資料時,sql 語句將無法執行成功,並拋出錯,上面的「primary key」也可以用「unique」替換,用法一樣

mysql 常用語句集

1 查詢某資料庫大小語句 select concat round sum data length 1024 1024 2 mb as data from tables where table schema yxl table schema等於資料庫。2 查詢某資料庫某錶大小語句 select con...

mysql常用語句 MySQL常用語句

create table student id int primary key auto increment comment 學號 name varchar 200 comment 姓名 age int comment 年齡 comment 學生資訊 修改表注釋 alter table studen...

php mysql 常用語句 mysql常用語句

一 修改mysql使用者密碼 mysql h localhost u root p 命令列登入 update user set password password 123456 where user root 二 資料庫操作 show databases 顯示資料庫 create database ...