您好,登錄后才能下訂單哦!
MySQL 基本語句
一.數(shù)據(jù)定義語言(DDL)
二.數(shù)據(jù)操作語言(DML)
三.數(shù)據(jù)查詢語言(DRL)
四.事務(wù)控制語言(TCL)
一.數(shù)據(jù)定義語言(DDL:Data Definition Language)
(修改表、庫結(jié)構(gòu)。 如create、drop、alter)
1.創(chuàng)建數(shù)據(jù)庫(create database語句) create database 庫名
2.刪除數(shù)據(jù)庫(drop database語句) drop database 庫名
3.創(chuàng)建表(create table語句) create table 表名
4.刪除表(drop table語句) drop table 表名
5.修改表結(jié)構(gòu)(alter table語句)
(1).修改表名
語法1. alter table 表名 rename 新表名
例:alter table student rename stu;
語法2. rename table 表名 to 新表名
例:rename table student to stu;
(2).添加列
alter table 表名 add 列名 類型;
例:alter TABLE student ADD sage int;
(3).刪除列
alter table 表名 drop 列名
例:alter table student drop sname;
(4).修改列類型
語法1. alter table 表名 modify 列名 目標(biāo)類型
例:alter table student modify sid varchar(10);
語法2. alter table 表名 change 列名 列名 目標(biāo)類型
alter table student change address address char(50);
(5).同時修改列名和列類型
alter table 表名 change 列名 新列名 目標(biāo)類型
alter table student change address add char(40);
注意:
1. 數(shù)據(jù)庫不區(qū)分大小寫
2. desc 表名 查看該表的結(jié)構(gòu)
3. drop table語句會刪除該表的所有記錄及表結(jié)構(gòu)
4. 新增主鍵:alter table (表名) add primary key (字段名)
二.數(shù)據(jù)操作語言(DML:Data Manipulation Language)
(對數(shù)據(jù)進(jìn)行操作。如insert、update、delete)
1.添加數(shù)據(jù)(insert into...語句)
語法1. insert into 表名(列名1, 列名2, 列名3...)values(列名1值,列名2值, 列名3值.)
例:insert into stu(sid,sname,sage)values(1,’張三’,22);
語法1. insert into 表名 values(列名1值,列名2值, 列名3值.)
例:insert into stu values(1,’李四’,22);
注意:
1. 語法1可以有選擇的添加某些列的值,但語法2需添加所有列且按順序添加值。
2. 添加當(dāng)前時間可以用now()函數(shù)。
2.修改數(shù)據(jù)(update...set語句)
update 表名 set 列名1=修改的值,列名2=修改的值 where 列名='值';
例:update stu set sage=23,sname='李五' where sid=1;
注意:where表示條件,如果沒有where的話將修改所有數(shù)據(jù)。
3.刪除數(shù)據(jù)(delete from...語句)
(1). 刪除所有記錄 delete from 表名
(2). 刪除id=1的的記錄 delete from 表名 where id=1;
三.數(shù)據(jù)查詢語言(DRL:Data Retrieval Language)
(查詢 索引數(shù)據(jù)。select語句)
1.查詢?nèi)繑?shù)據(jù)
Select * from 表名;
例:Select * from stu;
2.根據(jù)條件查詢指定的數(shù)據(jù)
Select * from 表名 where 列名1=值 and 列名2=值....
例:Select * from stu where sid=9 and ssex='女';
3.查詢數(shù)據(jù),返回指定的列
Select 列名1,列名2 from stu;
例:Select sid,sname from stu;
4.給指定返回列取別名(小名)
語法1. Select 列名 別名,列名2 別名2... from 表名;
例:Select sid id,sname name from stu;
語法2. Select 列名 as 別名,列名2 as 別名2... from 表名;
例:Select sid as id,sname as name from stu;
5.在條件中使用比較運(yùn)算符
SELECT * FROM 表名 where 字段 > < >= <= !=或<>
例:select * from stu where xsnianling !=18;
6.多條件的查詢:
AND OR NOT
例:select * from stu where xsnianling <=21 and xsxingbie='女';
例:select * from stu where xsnianling <21 or xsxingbie='女';
例:select * from stu where xsnianling not in(18,21,25);
7.對空值的查詢:is null 對應(yīng)列是否null查詢
例:select * from stu where xsxueli is not null;
例:select * from stu where xsxueli is null;
8.BETWEEN A AND B 在A和B之間,包含AB的值
例:select * from stu where xsnianling BETWEEN 18 and 21;
9.IN
例:select * from stu where xsnianling in(18,21,25);
10.模糊查詢 LIKE
%:指代不明確值的位置或長度
_:指代明確值的位置或已知字符串長度
例:select * from stu where xsxingming like '_靈%'
11.查詢中使用算術(shù)表達(dá)式:+ - * /
例:select xsxuehao+xsnianling from stu where xsxingming like '_靈%'
12.處理重復(fù)值:DISTINCT 排除重復(fù)展示,只展示一次
例:select DISTINCT xsxingbie from stu;
13.查詢返回限定行數(shù):LIMIT
Limit 10 取查詢數(shù)據(jù)的前10位
Limit 10,10 從查詢數(shù)據(jù)的第11位開始,向后取10位數(shù)據(jù)展示,不滿足10位也不會報錯
14.通過查詢復(fù)制表
create table stu1 select * from stu;
--只復(fù)制結(jié)構(gòu)
例:create table stu2 select * from stu where 1=2;
--復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個表結(jié)構(gòu)一樣)
例:insert into stu2 select from stu;
--復(fù)制舊表的數(shù)據(jù)到新表(假設(shè)兩個表結(jié)構(gòu)不一樣)
例:insert into stu2(字段1,字段2,…….) SELECT 字段1,字段2,…… FROM stu;
15.分組 group by
例:select ssex,COUNT(*) from stu GROUP BY ssex
注意:分組使用的時候group by字段一定要在select后面出現(xiàn),如果使用了group by,select 后面就不要出現(xiàn) *
16.排序 order by 字段名:字段名就是我們需要排序的字段
order by xsnianling 升序 ASC 默認(rèn)
order by xsnianling desc 降序
17.多個排序條件,當(dāng)?shù)谝粋€條件相同時,以第二個條件排序
例:select * from stu order by age desc,createDate desc;
18.虛擬表
在沒有表被引用的情況下,允許您指定dual作為一個假的表名
例:select 1+1 from dual;
四.事務(wù)控制語言(TCL:Transaction Control Language)
(如commit、rollback語句)
事務(wù)(Transaction)是訪問并可能更新數(shù)據(jù)庫中各種數(shù)據(jù)項的一個程序執(zhí)行單元(unit)。
在關(guān)系數(shù)據(jù)庫中,一個事務(wù)可以是一條SQL語句,一組SQL語句或者整個程序
事務(wù)應(yīng)該具有四個屬性:
原子性(atomicity)、一致性(consistency)、隔離性(isolation)、持續(xù)性(durability)
設(shè)置默認(rèn)事務(wù)提交方式
set autocommit=false 設(shè)置事務(wù)提交方式為”手動提交“
set autocommit=true 設(shè)置事務(wù)提交方式為”自動提交“
事務(wù)就是對數(shù)據(jù)庫的多步操作,要么一起成功,要么一起失敗
commit --手動提交事務(wù)
rollback --回滾事務(wù)
savepoint point2 --保存還原點(diǎn)
rollback to point2 --回滾到point2還原點(diǎn)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。