兩大數(shù)據(jù)庫
mysql和oracle的區(qū)別
mysql免費 開源
oracle花錢 閉源
confirm 確認(rèn)
建立表格
-- 這是第一個建表語句
-- 建表時需要指定:1态贤、表名领斥;2依沮、表中字段(列)名煞肾;3、字段的數(shù)據(jù)類型
-- 數(shù)值型
-- 【int(n)最大長度--整數(shù)猎物,decimal(7最長七位,2小數(shù)點后兩位)】
-- 字符型
-- varchar(2000)一個英文一個字符棍现,一個中文兩個字符
-- DATE年月日 DATETIME年月日時分秒
CREATE TABLE students(
`stuid` INT(9),
`stuname` VARCHAR(100),
`height` DECIMAL(3,2), -- 每行要有,
`birthday` DATE -- 最后一行沒有,
);
-- 向表中插入數(shù)據(jù)
INSERT INTO students(stuid,stuname) VALUES(9527,'李白');
INSERT INTO students(stuid,stuname,height,birthday) VALUES(9527,'李白他哥',1.59,'2018-11-11');
-- 新建一個表:course
-- id 課程的編號
-- cname 課程的名字
-- credit 學(xué)分
-- teacher 講師名字
-- classroom 上課教室
-- starttime 開課時間
-- 插入數(shù)據(jù)
-- 1001 Java 2 小南哥 A9-202 2019-2-19
-- 1001 C++ 0.5 中南哥 A9-301 2019-1-19
-- 1001 Python 3 大南哥 A9-405
CREATE TABLE course(
`id` INT(9),
`cname` VARCHAR(100),
`credit` DECIMAL(2,1),
`teacher` VARCHAR(100),
`classroom` VARCHAR(100),
`starttime` DATE
);
INSERT INTO course(id,cname,credit,teacher,classroom,starttime)
VALUES(1001,'Java',2,'小南哥','A9-202','2019-2-19');
INSERT INTO course(id,cname,credit,teacher,classroom,starttime)
VALUES(1001,'C++',0.5,'中南哥','A9-301','2019-1-19');
INSERT INTO course(id,cname,credit,teacher,classroom)
VALUES(1001,'Python',3,'大南哥','A9-405');
INSERT INTO course -- 沒寫后面的括號的意思就是所有的都**按照類型順序填寫**
VALUES(1001,'C++',0.5,'南哥','A9-208','2019-8-19');
CREATE TABLE newcourse(
`id` INT(9),
`cname` VARCHAR(100),
`credit` DECIMAL(2,1),
`teacher` VARCHAR(100),
`classroom` VARCHAR(100),
`starttime` DATE
);
INSERT INTO newcourse(id,cname,credit,teacher,classroom,starttime)
VALUES(1001,'Java',2,'小南哥','A9-202','2019-2-19');
-- 簡單查詢
-- 1、查什么横缔;2铺遂、從哪里查
SELECT id,cname,credit,teacher,classroom,starttime
FROM course
SELECT * -- 星號的意思就是查找全部列
FROM course
INSERT INTO students(stuid,stuname,height,birthday)
VALUES(9527,'李白他姐',1.59,'2018-11-11');
INSERT INTO students(stuid,stuname,height,birthday)
VALUES(9528,'李白他二哥',1.59,'2018-11-11');
INSERT INTO students(stuid,stuname,height,birthday)
VALUES(9529,'李白他二姐',1.59,'2018-11-11');
INSERT INTO students(stuid,stuname,height,birthday)
VALUES(9530,'李白他三哥',1.59,'2018-11-11');
INSERT INTO students(stuid,stuname,height,birthday)
VALUES(9531,'李白他三姐',1.59,'2018-11-11');
-- 條件查詢,茎刚,襟锐,,數(shù)值型的條件
-- 查詢身高1.5以上的所有人的數(shù)據(jù)
-- >,<,>=,<= 不等于 != 或者<>
SELECT *
from students
WHERE height >= 1.6 -- 沒有等于號在前面的類型
-- 查詢姓名就是李白的學(xué)員信息
-- 字符類型作為條件需要加單引號
SELECT *
from students
WHERE stuname = '李白'
-- Unicode碼 把所有的世界的語言編號的碼
-- 查找2010年出生的學(xué)員信息
-- int**不需要**'' 字符串類型的都**需要**''
SELECT *
from students
WHERE birthday < '2019-1-1' -- 必須是年-月-日
-- 邏輯運算符(and,or)
-- 查詢名字是李白,身高1.6以上的學(xué)員信息
SELECT *
from students
WHERE stuname = '李白' AND height >= 1.6
-- 查詢名字是李白,或者身高1.6以下的學(xué)員信息
SELECT *
from students
WHERE stuname = '李白' OR height <= 1.6
-- 查詢每個人的姓名膛锭,工資粮坞,年薪
SELECT stuname 姓名,salary 月薪,salary*12+10 "年薪y(tǒng)early salary"
-- 工作當(dāng)中表達(dá)式中的名頭有公式的必須列別名
from students
-- 特殊比較運算符
-- 查詢所有人工資大于等于1500小于等于3500的所有人的信息
SELECT *
from students
WHERE salary >= 1500 AND salary <= 3500
-- 查詢2000年到2017年出生的所有人信息
SELECT *
from students
WHERE birthday >='2000-1-1' AND birthday <='2020-12-31'
SELECT *
from students
WHERE birthday BETWEEN '2000-1-1' AND '2020-12-31'
-- BETWEEN a AND b 大于等于a小于等于b
SELECT *
from students
WHERE salary BETWEEN 1500 AND 3500
-- IN(參數(shù)...)
-- 查詢身高是1.59和1.6和9的所有人的信息
SELECT *
from students
WHERE height = 1.59 OR height = 1.6 OR height = 9
select *
from students
WHERE height in (1.59,1.6,9) -- in的意思就是or的合集
-- 查詢姓名是李白,李白他哥初狰,李白他二姐
select *
from students
WHERE stuname in ('李白','李白他哥','李白他二姐')
-- LIKE模糊查詢(部分匹配)必須會
-- 通配符 : %--任意多個字符就相當(dāng)于XXX
-- 查詢姓名是以'小'開頭人的信息
SELECT *
from students
WHERE stuname LIKE '%哥%'
-- 查詢名字是以哥或姐結(jié)尾的
SELECT *
from students
WHERE stuname LIKE '%哥' OR stuname LIKE '%姐'
-- 查詢2013年出生的人的信息
SELECT *
from students
WHERE birthday BETWEEN '2000-1-1' AND '2020-12-31'
-- LIKE不要用在查詢時間上莫杈,有風(fēng)險
SELECT *
from students
WHERE birthday LIKE '2013%'
-- 建兩張相關(guān)表
CREATE TABLE class(
`id` int(9), -- 班級編號
`cname` varchar(100), -- 班級名稱
`croom` varchar(100) -- 所在教室
)
CREATE TABLE stu(
`id` int(9), -- 學(xué)生編號
`name` varchar(100), -- 姓名
`birthday` date, -- 出生日期
`cno` int(9) -- 所在班級
)
-- 查詢學(xué)生編號,姓名奢入,所在班級編號,所在教室
SELECT stu.id,NAME,cno,croom,class.id -- stu.id的意思就是stu里的id
from stu,class
where cno=class.id
-- 查詢姓名中包含'王'的學(xué)生編號筝闹,姓名,所在班級編號,所在教室,班級名稱
SELECT stu.id,NAME,cno,croom,class.id,cname -- stu.id的意思就是stu里的id
from stu,class
where cno=class.id AND name LIKE '%王%'