Oracle、Mysql数据库编程开发基本操作命令语法脚本_基础篇(入门级)
Oracle、Mysql數(shù)據(jù)庫(kù)開(kāi)發(fā)基本操作命令語(yǔ)法腳本_基礎(chǔ)篇(入門級(jí))
文章目錄
- Oracle、Mysql數(shù)據(jù)庫(kù)開(kāi)發(fā)基本操作命令語(yǔ)法腳本_基礎(chǔ)篇(入門級(jí))
- 一、數(shù)據(jù)庫(kù)中常用的字段類型
- 二、操作數(shù)據(jù)庫(kù)的DDL語(yǔ)句
- 1.創(chuàng)建表語(yǔ)句
- 2.添加數(shù)據(jù)(增)
- 3.查詢數(shù)據(jù)(查)
- 4.刪除數(shù)據(jù)(刪)
- 5.修改數(shù)據(jù)(改)
- 三、對(duì)于null值的相關(guān)操作
- 四、集合查詢
- 五、模糊查詢
- 六、時(shí)間相關(guān)的操作
- 七、對(duì)結(jié)果集進(jìn)行排序顯示
- 總結(jié)
一、數(shù)據(jù)庫(kù)中常用的字段類型
1、數(shù)值型:
number(p[,s]):表示該類型最多保存 p位數(shù),其中s位為小數(shù)
number(5):表示該類型最多存5位整數(shù)
number(5,2):表示該類型最多存3(5-2)位整數(shù),2位小數(shù)
2、字符型:
定長(zhǎng)字符串:char(n):表示該類型如果填寫,則內(nèi)容長(zhǎng)度一定是n個(gè)字節(jié),如果長(zhǎng)度小于n則會(huì)用空格自動(dòng)補(bǔ)齊到n個(gè)字節(jié),如果超過(guò)n則報(bào)錯(cuò)
變長(zhǎng)字符串:varchar2(n):表示該類型最多存n個(gè)字節(jié),如果內(nèi)容長(zhǎng)度小于n則不會(huì)自動(dòng)補(bǔ)齊,超過(guò)n則報(bào)錯(cuò)
char和varchar2的不同:
1、char為定長(zhǎng)字符串,varchar為變長(zhǎng)字符串
2、char最多存2000個(gè)字節(jié),varchar最多存4000個(gè)字節(jié)
3、根據(jù)char類型的查詢效率要高于varchar類型的查詢效率
3、日期類型:Date
二、操作數(shù)據(jù)庫(kù)的DDL語(yǔ)句
1.創(chuàng)建表語(yǔ)句
create table student (stuno number(2),stuname varchar2(20),sex char(2),height number(3,2),birthday date )2.添加數(shù)據(jù)(增)
插入 insert into 表名(列,列....) values(值,值....)注意:
值與列對(duì)應(yīng)(類型和個(gè)數(shù)對(duì)應(yīng))
3.查詢數(shù)據(jù)(查)
查詢 select 列,列..... from 數(shù)據(jù)源(表)注意:
1、在查詢語(yǔ)句中, select 和 from 必須有 select用于聲明要顯示的列 from 用于聲明數(shù)據(jù)來(lái)源 。
2、如果只有 select from 則表示展示表中的每一條數(shù)據(jù),如果要進(jìn)行條件查詢需要 select …from…where 查詢條件這樣會(huì)展示數(shù)據(jù)源中符合條件的信息。
顯示所有學(xué)生的學(xué)號(hào),姓名,性別
查詢所有的女學(xué)生的姓名和生日
select stuname,birthday from student where sex='女'查詢身高在1.65到1.75之間的學(xué)員信息
select stuno,stuname,sex,height,birthday from student where height>=1.65 and height<=1.75查詢所有身高高于1.70或者姓名是男的學(xué)員
select stuno,stuname,sex,height,birthday from student where height>=1.7 or sex='男'4.刪除數(shù)據(jù)(刪)
delete [from] 表名 where 條件:從表中刪除符合條件的信息
**注意:**刪除語(yǔ)句where是關(guān)鍵,因?yàn)閣here決定了刪除那些信息,如果沒(méi)有where表示清空表中全部數(shù)據(jù)。
刪除 學(xué)號(hào)為 4的學(xué)員信息
5.修改數(shù)據(jù)(改)
update 表名 set 列=修改的值,列=修改的值,.... where 條件將表中符合條件的對(duì)應(yīng)字段進(jìn)行修改
注意 修改where 是關(guān)鍵,因?yàn)閣here決定了那些條數(shù)據(jù)被修改,如果沒(méi)有where則表示表中所有的數(shù)據(jù)都被修改
將1號(hào)學(xué)員的姓名改為張三豐,身高改為1.85,生日改為1900-09-02
update studentset stuname = '張三豐',height = 1.85,birthday = to_date('1900-09-02', 'yyyy-mm-dd')where stuno = 1commit;--提交事務(wù)--rollback;--回滾事務(wù) 用的時(shí)候注釋放開(kāi)即可三、對(duì)于null值的相關(guān)操作
查詢所有沒(méi)有設(shè)置獎(jiǎng)金的人
select * from emp where comm is null;--查詢comm列狀態(tài)為null的員工信息將員工姓名為ALLEN的員工獎(jiǎng)金設(shè)置為null
UPDATE EMP set comm = null where ename ='ALLEN';--表中記錄嚴(yán)格區(qū)分大小寫注意 任何數(shù)據(jù)與null進(jìn)行運(yùn)算結(jié)果依然為null
nvl(列,默認(rèn)值)函數(shù):如果該列為null則返回默認(rèn)值,如果不為null正常返回
顯示所有的員工姓名,工資,獎(jiǎng)金,和月收入(工資+獎(jiǎng)金) (如果獎(jiǎng)金為null則默認(rèn)為0)
四、集合查詢
列 in (集合)如果列的值等于集合中的某一個(gè)值則表示true
查詢10部門和20部門的員工信息
查詢不在10部門也不在20部門工作的員工
select * from emp where deptno != 10 and deptno <> 20列 not in(集合) 如果列的值不等于集合中的某個(gè)值,就返回true
select * from emp where deptno not in(10,20)五、模糊查詢
模糊查詢是對(duì)字符串類型進(jìn)行部分匹配的查詢
模糊查詢的運(yùn)算符為 like
占位符: % ,無(wú)限制占位 即占 >=0
_,占而且只占一位 即占 =1
查詢姓名以A開(kāi)頭的員工信息
select * from emp where ename like 'A%'查找姓名中有字符 A的員工
select * from emp where ename like '%A%'查詢姓名以S結(jié)尾的員工
select * from emp where ename like '%S'查詢姓名中第二個(gè)字母為A的員工信息
select * from emp where ename like '_A%'六、時(shí)間相關(guān)的操作
查詢1982年之后入職的員工
select * from emp where hiredate>to_date('1982-01-01','yyyy-mm-dd')to_char(date,格式) 將時(shí)間中指定的屬性轉(zhuǎn)為字符串
查找入職時(shí)間為1987年的員工
查找1987-04-19入職的員工
select * from emp where hiredate = to_date('1987-04-19','yyyy-mm-dd') select * from emp where to_char(hiredate,'yyyy-mm-dd') = '1987-04-19'查找所有在4月份入職的員工
select * from emp where to_char(hiredate,'mm')='04'七、對(duì)結(jié)果集進(jìn)行排序顯示
語(yǔ)法格式:
select ... from ... [where ] [order by 排序列1,排序列2]查詢工資大于1000的員工,并按照部門編號(hào)升序排序,如果部門編號(hào)一致則按照工資倒序,如果工資一致按照員工號(hào)倒序
select * from emp where sal>1000 order by deptno asc,sal desc,empno desc總結(jié)
小結(jié):建議大家根據(jù)業(yè)務(wù)上的需求來(lái)進(jìn)行實(shí)際開(kāi)發(fā)SQL,首先要一步一步去解決問(wèn)題,根據(jù)你要實(shí)現(xiàn)的功能選擇實(shí)現(xiàn)的方式(集合、子查詢、內(nèi)連、外連、函數(shù)),接下來(lái)我會(huì)為大家分享如何用存儲(chǔ)過(guò)程、函數(shù)來(lái)處理業(yè)務(wù)上的邏輯。
總結(jié)
以上是生活随笔為你收集整理的Oracle、Mysql数据库编程开发基本操作命令语法脚本_基础篇(入门级)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: While 循环语句 和do while
- 下一篇: MYSQL查看表结构