1.CURD的含義數據庫
C(Create):建立 R(Read):查詢 U(Update):修改 D(Delete):刪除編碼
2.SQL語句分類 spa
1) Data Definition Language (DDL 數據定義語言) 如:建庫,建表code
2) Data Manipulation Language(DML 數據操縱語言),如:對錶中的記錄操做增刪改blog
3) Data Query Language(DQL 數據查詢語言),如:對錶中的查詢操做ip
4) Data Control Language(DCL 數據控制語言),如:對用戶權限的設置 rem
3.DDL操做數據庫 字符串
1)建立數據庫 數學
-- 直接建立數據庫db1 create database db1; -- 判斷是否存在,若是不存在則建立數據庫db2 create database if not exists db2; -- 建立數據庫並指定字符集爲gbk create database db3 default character set gbk;
2)查看數據庫 it
-- 查看全部的數據庫 show databases; -- 查看某個數據庫的定義信息 show create database db3; show create database db1;
3)修改數據庫
-- 將 db3 數據庫的字符集改爲 utf8 alter database db3 character set utf8;
4)刪除數據庫
-- 刪除 db2 數據庫 drop database db2;
5)使用數據庫
-- 查看正在使用的數據庫 select database(); -- 改變要使用的數據庫 use db4
4.DDL操做表結構
前提先使用某個數據庫
1)建立表
-- 建立 student 表包含 id,name,birthday 字段 create table student ( id int, -- 整數 name varchar(20), -- 字符串 birthday date -- 生日,最後沒有逗號 );
2)查看錶
-- 查看 day21 數據庫中的全部表 use day21; show tables; -- 查看 student 表的結構 desc student;
-- 查看 student 的建立表 SQL 語句 show create table student;
3)快速建立一個表結構相同的表
-- 建立一個s1的表與student結構相同 create table s1 like student; desc s1;
4)刪除表
-- 直接刪除表s1表 drop table s1; -- 判斷表是否存在並刪除s1表 drop table if exists s1;
5).修改表結構
-- 爲學生表添加一個新的字段 remark,類型爲 varchar(20) alter table student add remark varchar(20); -- 將 student 表中的 remark 字段的改爲 varchar(100) alter table student modify remark varchar(100); -- 將 student 表中的 remark 字段名改爲 intro,類型 varchar(30) alter table student change remark intro varchar(30); -- 刪除 student 表中的字段 intro alter table student change remark intro varchar(30); 將學生表 student 更名成 student2 rename table student to student2; 將 student2 表的編碼修改爲 gbk alter table student2 character set gbk;
5.DML操做表中的數據
1) 插入數據
-- 插入全部的列,向學生表中 insert into student (id,name,age,sex) values (1, 'aa', 20, '男'); insert into student (id,name,age,sex) values (2, 'bb', 16, '男'); -- 插入全部列 insert into student values (3, 'cc', 18, '男', 'zzz'); -- 若是隻插入部分列,必須寫列名 insert into student values (4, 'dd', 18, '男');
2)更新表記錄
-- 不帶條件修改數據,將全部的性別改爲女 update student set sex = '女'; -- 帶條件修改數據,將id號爲2的學生性別改爲男 update student set sex='男' where id=2; -- 一次修改多個列,把id爲3的學生,年齡改爲26歲,address改爲北京 update student set age=26, address='北京' where id=3;
3)刪除表記錄
-- 帶條件刪除數據,刪除id爲1的記錄 delete from student where id=1; -- 不帶條件刪除數據,刪除表中的全部數據 delete from student;
6.DQL查詢表中的數據
1)簡單查詢
-- 查詢全部的學生: select * from student; -- 查詢 student 表中的 name 和 age 列 select name,age from student;
2)指定列的別名進行查詢
-- 使用別名 select name as 姓名,age as 年齡 from student; -- 表使用別名 select st.name as 姓名,age as 年齡 from student as st
3)清除重複值
-- 查詢學生來至於哪些地方 select address from student; -- 去掉重複的記錄 select distinct address from student;
4)查詢結果參與運算
select * from student; -- 給全部的數學加 5 分 select math+5 from student; -- 查詢 math + english 的和 select * from student; select *,(math+english) as 總成績 from student; -- as 能夠省略 select *,(math+english) 總成績 from student;
5)條件查詢
-- 查詢math分數大於80分的學生 select * from student3 where math>80; -- 查詢english分數小於或等於80分的學生 select * from student3 where english <=80; -- 查詢age等於20歲的學生 select * from student3 where age = 20; -- 查詢age不等於20歲的學生,注:不等於有兩種寫法 select * from student3 where age <> 20; select * from student3 where age != 20;
-- 邏輯運算符
-- 查詢 age 大於 35 且性別爲男的學生(兩個條件同時知足) select * from student3 where age>35 and sex='男'; -- 查詢 age 大於 35 或性別爲男的學生(兩個條件其中一個知足) select * from student3 where age>35 or sex='男'; -- 查詢 id 是 1 或 3 或 5 的學生 select * from student3 where id=1 or id=3 or id=5;
-- in關鍵字
-- 查詢id是1或3或5的學生 select * from student3 where id in(1,3,5); -- 查詢id不是1或3或5的學生 select * from student3 where id not in(1,3,5);
-- 範圍查詢
-- english 成績大於等於 75,且小於等於 90 的學生 select * from student3 where english between 75 and 90;
-- like模糊查詢
-- 查詢姓馬的學生 select * from student3 where name like '馬%'; select * from student3 where name like '馬'; -- 查詢姓名中包含'德'字的學生 select * from student3 where name like '%德%'; -- 查詢姓馬,且姓名有兩個字的學生 select * from student3 where name like '馬_';