Mysql1

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 '馬_';
相關文章
相關標籤/搜索