數(shù)據(jù)庫和sql語句:sql操作數(shù)據(jù)庫
sql語句和連接工具:1、沒有必然聯(lián)系2、連接工具可以把一些界面操作,轉(zhuǎn)化為sql
連接工具和數(shù)據(jù)庫關(guān)系:把命令轉(zhuǎn)化為可視化的操作
連接數(shù)據(jù)庫媒介:1、navicat2、sqlyog3、datagrip
數(shù)據(jù)庫(database):1、mysql2、SQLServer3、Oracle
數(shù)據(jù)庫的操作:增、刪、改、查
數(shù)據(jù)的查:關(guān)鍵字:select
語句:select * from
篩選:where
有條件查詢語句:select * from 表名 where 字段名 條件 對(duì)比對(duì)象
條件:</>/<=/>=/=/!=/in/between and/isnull/like
兩張表關(guān)聯(lián):jion on
語句:select * from 表名 jion 表名 on 主鍵 = 次鍵
主鍵與次鍵的關(guān)系:次鍵在主鍵的字段名后
數(shù)據(jù)的增:關(guān)鍵字:insert into
語句:一條: insert into 表名 (字段1,字段2,..) value(值1,值2,...) 多條的:?insert into 表名 (字段1,字段2,..) values(值1,值2,...)
從另一張表中插入到當(dāng)前表:insert into 表名 (字段1,字段2,..) 查詢語句
數(shù)據(jù)的改:修改指定數(shù)據(jù):update 表名 set 字段名1=值1,字段名2=值2,... where? ? ?條件修改全表數(shù)據(jù):update 表名 set 字段名1=值1,字段名2=值2,...
數(shù)據(jù)的刪:刪除指定數(shù)據(jù):delete from 表名 where 條件? ? ?清空表:1、delete from 表名(只刪數(shù)據(jù))2、truncate table 表名(既刪除數(shù)據(jù)又刪除存儲(chǔ)空間)
其他數(shù)據(jù)庫對(duì)象:
增:庫:create database 庫名/表:create table 表名;
備份表:create table 新表名 as select * from 舊表名;
只備份表結(jié)構(gòu):create table 新表名 as select * from 舊表名 where 1=2;
刪:庫:drop database 庫名;/表:drop table 表名;
改:表:alter table 表名;
查:庫:show databases;/表:show tables;(查詢所有表名)/desc 表名(查看表結(jié)構(gòu))
sql解題思路&sql的執(zhí)行順序
-- 1、確定是增刪改查哪一種,寫 select * from
-- 2、確定哪張表 寫表名
-- 3、確定有沒有進(jìn)行條件篩選 where
-- 4、確定條件內(nèi)容 字段 條件 對(duì)比對(duì)象 如果有多條件,連接符選哪個(gè)
-- 5、是否需要分組 group by 確定分組字段
-- 6、是否需要對(duì)分組后的結(jié)果的進(jìn)行篩選 having
-- 7、確定展示字段 select
-- 8、是否需要對(duì)查詢結(jié)果去重 distinct
-- 9、是否需要排序 order by 確定排序字段 確定排序規(guī)則
-- 10、確定是否需要分頁展示 limit 取第n到m條數(shù)據(jù)? limit n-1,m-(n-1)
語法格式
select distinct 字段 from 表名 where 篩選條件 group by 分組字段 having 二次篩選的條件 order by 字段 limit n,m;
語法格式上細(xì)節(jié)
關(guān)鍵字的位置是固定的
所用到的所有符號(hào)都是英文符號(hào)
符號(hào)成對(duì)出現(xiàn),成對(duì)寫:''/()
不同類型的東西用空格分隔
同種類型的東西,用英文逗號(hào)分隔
篩選條件用邏輯運(yùn)算符
字段值 :數(shù)字 (直接寫)? ?字符串、日期、時(shí)間 (用單引號(hào)引起來)
一個(gè)SQL語句結(jié)束,以分號(hào)結(jié)尾