MySql中SQL語句CRUD詳解

一般軟件開發人員涉及到數據庫,比較多的是數據的增刪改查;畢竟我們不是數據庫管理人員(數據庫的高級優化,災難性的回覆等);

SQL介紹

全稱:Structured Query Language 中文名稱:結構化查詢語言;

功能:是一種定義,操作,管理關係數據庫的句法。大多數關係型數據庫都支持;

組成:DQL:數據查詢語言;DML:數據操作語言;DDL:數據定義語言;DCL:數據控制語言;TPL:事務處理語言;CCL:指針控制語言;

數據庫

定義:存儲數據倉庫

特點:數據共享,相對安全;

數據庫模型分類:關係型數據庫是主流,層狀型數據庫,網狀型數據庫;

數據庫管理系統(DBMS)

常見關係型數據庫管理系統(DBMS):Oracle、MySql、SQLite、SQL Server、Access、DB2、Informix、Prostgre SQL

注意:通常我們說的MySql數據庫其實是MySql數據庫管理系統

MySql中的SQL語句

首先要安裝MySql軟件,安裝之後才能在CMD命令行中或者其他數據庫可視化工具中使用SQL語句操作數據;

以下內容都是CMD命令行中使用SQL語句;cmd進入命令行,輸入命令:mysql -u用戶名 -p密碼 進入mysql客戶端;

DDL:數據庫和表的創建

全拼:Data Definition Language 數據定義語言,主要是創建數據庫和表的結構;關鍵字:Create  Alter  Drop  Truncate 

數據庫的操作

1,創建數據庫

create database  test;#注意要有分號,數據庫名test

2,查看創建數據庫的語句

show create database test;

3,查看創建的數據庫

#查詢所有創建的數據庫
show databases;

4,使用數據庫

#使用某個數據庫
use test;

5,刪除數據庫

 drop database test;

6,創建數據庫並指定字符集

create database test character set gbk;

7,查看數據庫中所有的校驗規則

show collation;

8,查看數據庫中部分校驗規則

show collation like '%gb%';  #like模糊查詢

9,設置校驗規格和字符集

create database mydb character set gbk collate gbk_bin;

10,修改字符集

alter database mydb character set utf8; #注意不要寫成utf-8了

MySql中數據類型:bit, tinyint, bool 或者 boolean,smallint, int , bigint, float, double, char, varchar, blob或longblob, text, data/datatime/timestamp;

表的操作

1,創建表

use mydb; #進入要創建表的數據庫
create table test(id int,name varchar(20)); #表名test

2,查看創建表的語句

show create table test;

3,創建表並指定字符集

create table test2(id int ,name varchar(20)) character set utf8;

4,插入數據

insert into test2(id,name) values(22,'你好');
#簡寫 insert test2 values(33,'妹子'); 省略字段,意味着所有字段都必須給值(自增自減除外)

如果報錯可能是沒有設置Mysql客戶端字符集,設置客戶端字符集

set character_set_client = gbk; #設置客戶端字符集爲gbk

5,查詢表中的數據

select * from test2;

如果顯示的中文還是亂碼,可是沒有設置Mysql客戶端結果集的字符集

set character_set_results = gbk;

6,更新數據

 update test2 set name = '張三' where id =22; #把id =22行中的name 的值改爲:張三

6.1,將表中所有的name字段改爲:王五;

update test2 set name = '王五';

6.2,修改多個字段

 update test2 set name = '張三' id = 1 where id =22;

7,刪除數據

delete from test2 where id =22; #刪除id=22的數據

7.1,刪除所有數據

delete from test2 ;

7.2,刪除所有記錄

truncate table test2;

8,更改表的結構

alter table t1 add time varchar(20); #添加一個time列

8.1,刪除某列

 alter table t1 drop column time;

8.2,查看錶的結構

desc t1;

9,刪除表

drop table test2;

 DQL

全拼:Database Query Language 中文名:數據查詢語言 

作用:查詢數據

1,查看所有數據

select * from t1; # 其中t1是表名 *代表所有的字段

2,查看某條數據,一般根據id查詢,因爲id一般唯一;

select * from t1 where id = 5; #查詢id=2的這條記錄

3,查詢id在 2 - 5之間的數據

select * from t1 where id>=2 and id<=5 ;

或者

select * from t1 where id between 2 and 5;#包括2和5

4,參看所有的某個字段的數據;

select name from t1;

5,參看所有的某些字段的數據;

select id,name from t1; # id,name查詢的字段名  t1表名

6,模糊查詢

表達式:select * from 表名  where 字段名  like 字段表達式 (%表示任意字符數,_表示任意的一個字符,[ ] 表示在某個區間)

6.1,查詢名字以‘張’開頭的數據

select * from t1 where name like '張%';

6.2,查詢名字中含有‘趙’,且名字的長度是3

select * from t1 where name like '趙__' or name like '_趙_'or name like '__趙' ; #注意下劃線的個數

7,查詢表中名字(某個字段)不同的記錄

 select distinct name from t1;

8,查詢表中(某些字段)不同的記錄

select distinct name,id from t1; # 查詢id 和 name 都不相同的記錄

9,字段可以有表達式

select id +10 ,name from t1; #查詢出id是加10後的

10,給字段起別名

select id as '序號' , name as '名字' from t1;

或者:省略as
select id '序號' , name '名字' from t1;

11,幾個int 數據類型的字段可以加減算法

select id, a + b + c from t2;

12,查詢中in關鍵字使用  in:查詢在in列表中的值

select * from t1 where address in('北京','上海');

13,排序(order by)

13.1,升序排序

select * from t2  order by a asc; #asc代表升序  可以省略,默認是升序

13.2,降序

select * from t2  order by a desc; #desc代表降序

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章