亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > 綜合 > 正文

sql語法 學習了解

2024-07-21 02:52:16
字體:
來源:轉載
供稿:網友
sql 的分類:    DDL: 數據定義語言  create drop alter             DML:  數據操作語言   記錄    DQL:數據查詢語言 : 非官方的  查詢語句    DCL:數據控制語言  :  事物,管理net start MySQLmysql -u用戶名 -p密碼DDL: 數據庫定義語言                創建數據庫: create database 數據庫名稱;           刪除數據庫:drop database 數據庫名稱;        常用命令:  查看所有數據庫 :  show databases;                             切換或者使用數據庫:  user 數據庫名稱;        操作表:                        創建表: create table 表名(字段描述,字段名稱);                                       字段描述: 字段名稱,字段類型  [約束 ]                                   create table user ( id Int  PRimary key  auto_increment , username varchar(20) )                    查看所有表:  show tables;                    查看表結構:  desc  表名;                    看看建表語句: show create table  表名;                    修改表名: alter table 表名(舊表名)  rename  to  表名(新表名);                    添加字段:   alter  table  表名 add [column] 字段描述;                                        例如: alter table user add passWord varchaer(20);                    修改字段名稱:   alter table 表名  change  字段名稱(舊字段)  字段名稱(新字段名稱) 字段描述                    修改字段描述: alter  table 表名  modify  字段名稱   字段類型 [約束] ;                    刪除字段: alter table 表名  drop  字段名;                    刪除表:   drop  table  表名;DML: 數據操作語言  關鍵字  insert  update   delete                    注意: 若字段類型為數字,可以省略引號,盡量別省略              插入:  insert into  表名  values(字段值1,字段值2,字段值n);--默認插入所有字段,必須保證value后的類型和順序要與鍵表結構順序一致                                      insert into 表名 (字段名,字段名)  values(字段值,字段值);--插入指定的值, 必須保證和創表的類型與順序一致            修改:  update 表名  set 字段名=字段值, 字段名1=字段值  [條件查詢] ;             刪除: delete from 表名  【where】;DQL: 數據查詢語言                select * form 表名  where  group by    having    order by  ase| desc                select * from 表名;        select 字段名1, 字段名2   from  表名;        select  distincet 字段名  from 表名 ;  //  distincet  去重的意思        可以在查詢的結果上進行運算,但是不影響數據庫里面的值        select 字段名 + 10 from 表名;                起別名(給列或者字段別名)        select 字段名 + 10  新別名  from 表名;            select 字段名 + 10  ’新別名‘  from 表名;              select 字段名 + 10  ·新別名·  from 表名;             條件查詢            select *from 表名 where 字段名=value;    select *form 表名 where 字段名 > 20;    select * from 表名  where 字段名 like 匹配規則    匹配個數, 匹配內容      //模糊查詢    select * from 表名  where 字段名 like ”__“    占2個位置    select * from 表名  where 字段名 like %龍         select * from 表名  where 字段名 like 龍%    select * from 表名  where 字段名 like %龍%    select *form 表名 where 字段名 = 20 or 字段名 = 30 or  字段名=40;    select *form 表名 where 字段名 in(20,30,40);    select *form 表名 where 字段名 between 20 and 40;    select *from 表名  order by 字段名  (asc升序, desc 降序)    select * from 表名 where 字段名  like ”“  order by    聚合函數 (忽略null值)                 sum()   avg()  max() min() count()    獲得總和    select sum(字段名) from 表;        獲得平均數    select avg(字段名) form 表名;    round 函數,四舍五入    select round(avg(字段名),2)from 表名;        計算    select count(*) form 表名   獲得一共多少條記錄    分組  在where 后面  order by前面    where 與 having區別    where 是分組前的數據進行過濾,后面不能使用聚合函數    having是分組后的數據進行過濾, 可以使用聚合函數    select 字段名, count(*) from 表名 group by 字段名  ;      select 字段名, sum(字段名)   from 表名 group by 字段名;     select 字段名, sum(字段名)   from 表名 group by 字段名  having > 200; 數據類型的問題    mysql                java     tinyInt                     byte   smallInt                   short      Int                          int    bigInt                     long         varchar                  varChar/char   (varChar 可變長度  char不可變長度)     int                      boolean    float                     float    double(5,2)           double      注”:double(5,2) 改小數長度為5,小數占2位                                    date                       java.sql.Date   time                        java.sql.Time   timesTamp             java.sql.timesTamp   dateTime  日期加+時間       無                            text (最大4g廠文件)     java.sql.clob()存長文本    blob                             java.sql.blob() 存文二進制文件(電影)約束:         作用:為了保證數據的有效性與完整性        mysql常用約束:  primary  key 主鍵約束                                    unique  唯一約束                                    not null  非空                                    foreign  key 外鍵約束        主鍵約束:  修飾過過的字段唯一非空,一張表只能有一個主鍵,這個主鍵可以保函多個字段                            方式1: 鍵表的同時添加約束          字段名稱  字段類型 primary key                                                      方式2: 鍵表的同時在約束區域添加約束          primary key(字段1,字段2)                                           creat table user (                                                        id int,                                                        username varchar(20),                                                        primary key(id)                                            );                              方式3: 添加完表之后,通過修改表結構,修改主鍵                                              alter table 表名 add primary key(字段名1,字段名2)  (聯合主鍵)        唯一約束: 被修飾過的字段唯一, 對null值不起作用                            方式1: 鍵表的同時添加約束          字段名稱  字段類型 unique                                                    方式2: 鍵表的同時在約束區域添加約束     unique(字段1,字段2)                                           creat table user (                                                        id int,                                                        username varchar(20),                                                        unique(id)                                            );                              方式3: 添加完表之后,通過修改表結構,修改主鍵                                              alter table 表名 add unique(字段名1,字段名2)  (聯合主鍵)    非空約束: 被修飾的字段非空                         creat table user (                                                        id int  not null,                                                        username varchar(20),                                                                                                    );    truncate: 清空表                   格式: truncate 表名;  //清空表,重新創建一張新表                                delete 屬于逐條刪除    auto_increment : 要求, 被修飾的字段要滿足自增,被修飾的字段必須是key,一般是primary key                            多表操作     sql:舉例操作:網上商城網上商城的實體:                        1 用戶                 2 訂單         3 商品          4分類    常見關系:                            一對多關系: 用戶和訂單  分類和商品            多對多關系: 訂單和商品               一對一關系: 丈夫和妻子            ER圖,可以描述實體與實體的關系                               一對多關系: 一稱之為主表  多稱之為 從表   會在多表一份添加一個字段,字段名稱稱之為主表_id                        與主表的主鍵類型保持一致,我們稱之為外鍵    用戶和訂單列表:                用戶表:  create  table user(                                    id  int primary  key auto_increment,                                    userName  varchar(20)                            )                訂單列表                                 create  table orders(                                    id  int auto_increment,                                    totlePrice double,                                    user_id int,                                                             )                  添加外鍵約束:在多表的一方添加約束                   alter  table 多表名稱  add foreign key (外鍵名稱) reference 一表名稱(主鍵)                   alter table orders add foreight key(user_id)  reference  user(id)                       添加了外鍵之后又如下特點,主表中不能刪除從表中已經引用的數據 ,從表中不能添加主表        中不存在的數據    多對多關系:商品和訂單                         create  table orders(                                    id  int auto_increment,                                    totlePrice double,                                    user_id int,                                                             )                     create  table product(                                    id  int auto_increment,                                    pname varchar(20)                                    Price double,                                                                                                )                                     create  table orderItem(                                                oid  int ,                                    pid  int ,                                                                                            )                在開發中,我們一般引入中間表來表示他們的關系,在中間表中,存放2表的主鍵,然后一般還會將這個兩個主鍵設置成中間表的聯合主鍵,將多對多變為2個一對多,為了保證數據的一致性,在中間表上添加2個外鍵即可    alter table orderItem add foreign key(oid) reference orders(id)alter table orderItem add foreign key(pid) refence product(id)多表查詢笛卡爾迪: 多張表無條件的聯合查詢,沒有任何意義                    select A表.* ,B表  from  A表,B表;內連接 :                 格式1: 顯示的內連接  select A表.* , B表.* from A[inner] join B on AB的鏈接條件                格式2: 隱示的內連接  select A表.*, B表.* from A ,B  where ab的鏈接條件     外鏈接            1 左外鏈接  select A表.*, B表.* from A表 left[outer] join B表 on 鏈接條件;                先展示join左邊的表的所有數據,根據條件關聯查詢join 右邊的表(b),符合條件的展示出來                不符合的null展示            2 右外鏈接 select A表.*, B表.* from B表 right [outer] join A表  on 鏈接條件                先展示join右邊的數據,根據條件關聯查詢join左邊的表的數據,符合條件的則展示,不符合        條件則以null顯示                                子查詢例如:查詢用戶的訂單,沒有訂單的用戶不顯示 隱示的內連接: select user.*, order.* from user, orders where user.id=orders.user_id;顯示的內連接:select user.*, order.* from user join orders on  user.id=orders.use.id;查詢所有用戶的訂單詳情左外連接:   select user.*, order.* from user left join orders on  user.id=orders.use.id;右外鏈接:  select user.*, orders.* form orders join user on  user.id=orders.use.id;子查詢一個查詢依賴與另一個查詢      例如:查詢用戶為張三的詳情      select *from orders where user_id = (select id from user where username = '張三');      查詢出訂單價格大于300的用戶信息  in 對應多個信息       select * from user where  user_id in (select user_id from orders where totleprice > 300);             查詢出訂單價格大于300的訂單信息及用戶信息  as 給表起別名      //內鏈接      select user.*,order.* from user,orders where user.id = order.user_id and order.price > 300;       //子查詢      select user.* , tamp.* from user, (select *from order where pice > 300) as tamp where user.id=tamp.user_id 
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品一区二区性色av| 国产啪精品视频网站| 亚洲午夜女主播在线直播| 这里只有精品在线播放| 夜夜躁日日躁狠狠久久88av| 国产欧美日韩丝袜精品一区| 国产精品久久综合av爱欲tv| 亚洲www在线观看| 中文字幕日韩有码| 欧美一级大片在线观看| 91久久久亚洲精品| 日本乱人伦a精品| 91精品久久久久久久久青青| 中文字幕在线亚洲| 国产亚洲精品激情久久| 亚洲97在线观看| 亚洲一区美女视频在线观看免费| 中文字幕精品视频| 欧美成人网在线| 欧美激情综合亚洲一二区| 欧美综合在线第二页| 91黄色8090| 欧美黑人又粗大| 亚洲激情视频在线| 国产97在线视频| 国产欧美精品一区二区| 亚洲精品国产精品国产自| 国产精品欧美激情在线播放| 亚洲一区中文字幕| 激情懂色av一区av二区av| 国产激情久久久久| 精品偷拍各种wc美女嘘嘘| 亚洲欧美日韩中文在线| 色樱桃影院亚洲精品影院| 欧美精品福利在线| 欧美超级免费视 在线| 亚洲午夜国产成人av电影男同| 亚洲精品国产成人| 欧美日韩中文字幕在线视频| 亚洲第一网站免费视频| 国产精品黄色影片导航在线观看| 国产91亚洲精品| 亚洲最新中文字幕| 91精品国产91久久久久久不卡| 777777777亚洲妇女| 欧美又大粗又爽又黄大片视频| 亚洲韩国日本中文字幕| 亚洲成人a**站| 色噜噜国产精品视频一区二区| 亚洲成人av在线| 亚洲欧洲在线视频| 久久久999国产| 中日韩美女免费视频网址在线观看| 精品久久久久久久久久久久久久| 亚洲精品98久久久久久中文字幕| 国产一区二区三区毛片| 九九九热精品免费视频观看网站| 国产日韩在线观看av| 欧美极品xxxx| 国内外成人免费激情在线视频网站| 欧美国产日韩视频| 欧美韩国理论所午夜片917电影| 久久精品国产2020观看福利| 中文字幕欧美视频在线| 亚洲欧美国产制服动漫| 国产乱肥老妇国产一区二| 黄色91在线观看| 久久久之久亚州精品露出| 欧美福利视频在线观看| 精品一区二区三区四区在线| 欧美激情精品久久久久| 一区二区日韩精品| 欧美一区二区大胆人体摄影专业网站| 色婷婷综合久久久久中文字幕1| 日产日韩在线亚洲欧美| 亚洲国产精品视频在线观看| 国产精品成人观看视频国产奇米| 久久久久久美女| 国精产品一区一区三区有限在线| 成人亚洲综合色就1024| 韩国日本不卡在线| 久操成人在线视频| 欧美另类高清videos| 日韩av电影在线免费播放| 日韩欧美成人精品| 国产精品第10页| 久久久久久成人精品| 国产乱人伦真实精品视频| 色中色综合影院手机版在线观看| 亚洲天堂免费观看| 欧美电影在线观看高清| 欧美一性一乱一交一视频| 亚洲毛茸茸少妇高潮呻吟| 亚洲国产中文字幕在线观看| 亚洲第一视频网| 亚洲一区二区三区香蕉| 亚洲激情电影中文字幕| 欧美成人亚洲成人| 91精品国产自产在线| 成人精品久久av网站| 国产精品久久久久久av下载红粉| 欧美性xxxx极品高清hd直播| 大伊人狠狠躁夜夜躁av一区| 欧美大片欧美激情性色a∨久久| 国产男女猛烈无遮挡91| 欧美极品少妇xxxxⅹ免费视频| 不卡av在线网站| 亚洲女在线观看| 国产精品第二页| 亚洲综合大片69999| 欧美国产精品va在线观看| 欧美激情a在线| 中文字幕日韩精品在线观看| 欧美巨猛xxxx猛交黑人97人| 国产精品免费久久久久久| 国产成人精品视频在线观看| 久久精彩免费视频| 欧美另类老肥妇| 亚洲欧洲国产精品| 俺去亚洲欧洲欧美日韩| 亚洲第一中文字幕| 久久久久久久久久久91| 粗暴蹂躏中文一区二区三区| 亚洲男人天堂久| 2018中文字幕一区二区三区| 亚洲精选一区二区| 亚洲午夜精品久久久久久性色| 日韩毛片在线看| 欧美亚洲国产日本| 日韩av中文字幕在线| 日韩精品免费在线播放| 国产精品盗摄久久久| 成人黄色在线观看| 欧美极品在线播放| 91亚洲一区精品| 久久精品免费播放| 精品人伦一区二区三区蜜桃免费| 国产精品∨欧美精品v日韩精品| 久久综合电影一区| 亚洲精品黄网在线观看| 91香蕉嫩草神马影院在线观看| 久久久久久久香蕉网| 亚洲第一综合天堂另类专| 热99精品里视频精品| 成人性生交大片免费看视频直播| 欧美一区二区色| 成人久久久久久久| 91亚洲精华国产精华| 亚洲国产高清高潮精品美女| 国外成人免费在线播放| 久久精品2019中文字幕| 91热精品视频| 欧美日韩中国免费专区在线看| 亚洲国产第一页| 伊人久久久久久久久久久| 欧美高清在线观看| 亚洲欧美日韩图片| 欧美大片免费看| 日韩av在线最新| 亚洲美女性视频| 久久精品国产清自在天天线| 中文字幕国产亚洲| 国产97色在线| 国产精品第三页|