mysql資料庫基本語法 MySQL資料庫基本語法

2021-10-22 08:24:15 字數 4007 閱讀 9775

[toc]

sqlwhat(sql是什麼?) structured query language:結構化查詢語⾔

why(為何要使用sql?) 難道僅僅使用sql server management studio運算元據庫? 應用程式如何與資料庫打交道?

when(何時使用?) 對sql server執⾏所有的操作都可以 程式中的增刪改查

how(怎麼使用?) ...

四大sql語句

資料定義語句ddl: create、alter、drop、truncate(表結構)

資料操作語句dml: insert、delete、update、select(資料)

資料控制語句dcl: 授權grant 收回許可權:revoke

事務控制語句tcl: 開啟事務:begin 提交:commit 回滾:rollback

資料庫操作

建立資料庫

sql語句:

create database 資料庫名;

create database stu_a;

-- 在建庫時指定字符集,避免中文資料亂碼的問題

create database stu_b default charset='utf8';

成功建立資料庫後,資料庫根目錄下會自動建立資料庫目錄。

顯示資料庫結構

sql語句:

show create database 資料庫名;

可以檢視資料庫的相關資訊(例如預設字符集等資訊)。

刪除資料庫

sql語句:

drop database 資料庫名;

mysql資料型別

mysql提供的資料型別包括數值型別(整數型別和小數型別)、字串型別、日期型別、復合型別(復合型別包括enum型別和set型別)以及⼆進製型別 。

decimal(length, precision)用於表示精度確定(小數點後數字的位數確定)的小數型別,length決定了該小數的最⼤位數,precision用於設定精度(小數點後數字的位數)。

例如: decimal(5,2)表示小數取值範圍:-999.99∼999.99 decimal(5,0)表示: -99999∼99999的整數。

char()與varchar(): 例如對於簡體中⽂字符集gbk的字串⽽⾔,varchar(255)表示可以儲存255個漢字,⽽每個漢字占用兩個位元組的儲存空間。假如這個字串沒有那麼多漢字,例如僅僅包含⼀個『中』字,那麼varchar(255)僅僅占用1個字元(兩個位元組)的儲存空間;⽽char(255)則必須占用255個字元長度的儲存空間,哪怕裡面只儲⼀個漢字。

表操作建立資料庫表

注意:在建立表之前,需要選擇當前操作的資料庫

use 資料庫名;

建立資料庫表sql語句:

use student;

create table stu(id int,name varchar(20));

create table stuinfo(

id int,

name char(20),

address char(50),

city char(50),

age int,

love char(50)

)default charset='utf8';

顯示表結構

sql語句:

desc 表名; -- 即可檢視指定表的結構

sql語句:

show create table 表名; -- 檢視指定表的詳細資訊

刪除表sql語句:

drop table 表名;

注意:刪除表後,mysql服務例項會自動刪除該錶結構定義的檔案,以及資料、索引資訊。該命令慎用!

刪除字段

alter table 表名 drop 欄位名

新增新字段

alter table 表名 add 新欄位名 新資料型別 [新約束條件]

修改欄位名

alter table 表名 change 舊欄位名 新欄位名 新資料型別

修改資料型別

alter table 表名 modify 欄位名 新資料型別

修改表名

rename table 舊表名 to 新錶名

資料的增、刪、改、查

表記錄的插入

sql語句:

insert into 表名(字段列表) values(值列表);

insert stu(id,name) values(1,'newdream');

insert stu values(2,'newdream1');

一次插入多條記錄

insert into 表名(字段列表) values (值列表1),(值列表2),...(值列表n);

insert into stu values(3,'new1'),(4,'new2'),(5,'new3');

使用insert...select插入結果

insert into 目標表名(字段列表1)

select(字段列表2) from 源表 where 條件表示式

insert into stu_bak(id,name)

select id,newname from stu where id>2;

注意:字段列表1與字段列表2的字段個數必須相同,且對應欄位的資料型別盡量保持一致。 如果果源表與目標表的表結構完全相同,「(字段列表1)」可以省略。

複製表結構及資料到新錶

create table 新錶 select * from 舊表;

只複製表結構到新錶

create table 新錶 select * from 舊表 where 1=2;

修改表記錄

update 表名 set 欄位名1=值1,欄位名2=值2,...,欄位名n=值n

[where 條件表示式]

update stu set newname='new5' where id=1;

where 子句指定了表中的哪些記錄需要修改。若省略了where子句,則表示修改表中的所有記錄。 set子句指定了要修改的字段以及該欄位修改後的值。

使用delete刪除表記錄

delete from 表名 where 條件表示式;

說明:如果沒有指定wheree⼦句,那麼該錶的所有記錄都將被刪除,但表結構依然存在。

使用truncate清空表記錄

truncate table 表名;

delete和truncate的區別

delete不加where條件是刪除所有資料 truncate不能夠加where條件 delete可以加where條件 truncate會重置auto_increment delete可以進⾏回滾操作

表記錄的查詢

select 字段列表 from 表名

where條件表示式

表記錄的查詢—給列取別名

可以為字段列表中的欄位名或表示式指定別名,中間使用as關鍵字分隔即可(as關鍵字可以省略)。多表查詢時,同名字段前必須新增表名字首,中間使用「.」分 隔。

select id as 』學⽣學號』,newname 『學⽣姓名』 from stu;

使用source命令

測試⼈員經常會和mysql打交道,備份和恢復應該是最常用的操作了,那麼通過直接執⾏sql⽂件⽆疑是最快捷的⽅式。 我們會把寫好的sql語句儲存成⼀個.sql⽂件進⾏備份;如果想在新的資料庫中執⾏時,可以使用source命令進⾏恢復; 例如:在d盤的new⽂件夾中儲存了dream.sql⽂件 (此⽅法只用在命令提示窗⼝)

第⼀步:可以先新建⼀個資料庫; 第⼆步:use 新的資料庫 第三步:source d:\www\dream.sql 如此就把之前的表資料在新的資料庫中進⾏恢復;之前的表及資料在新的資料庫中都是存在的;

MySQL資料庫的基本語法

1.mysql資料型別數值以及浮點型介紹 2.mysql資料型別之字串介紹 常用的有 char varchar text。3.mysql資料型別之時間型別介紹 常用的是 timestampt,將時間儲存為時間戳的形式,為int型別,後續再轉化成時間。5.sql語句之運算子介紹 6.sql語句的分類 ...

Mysql資料庫基本語法(一)

前記 正文 一 資料庫的操作 顯示所有的資料庫 show databases 建立資料庫 create database databasename 刪除資料庫 drop database databasename 選擇資料庫 use databasename 二 資料庫中表的字段的型別 數值型別 日...

資料庫基本語法

建立studb資料庫 create database studb 修改studb資料庫 alter database studb 刪除studb資料庫 drop database studb 查詢資料庫資訊 exec sp helpdb studb 建立stuinfo資料表 create table...