金沙棋牌app手机下载

当前位置:金沙棋牌 > 金沙棋牌app手机下载 > java复习基础篇,基础知识与语句笔记

java复习基础篇,基础知识与语句笔记

来源:http://www.logblo.com 作者:金沙棋牌 时间:2019-11-22 11:08

建库

1,数据库的生命周期:
急需解析(需要表达书卡塔尔国 -- 逻辑设计(E-CRUISER卡塔尔 -- 物理设计(表结构) -- 数据库完成(范式化卡塔尔国 -- 数据纠正(索引/限定卡塔 尔(英语:State of Qatar) -- 数据库监察和控制(维护卡塔尔
详尽可参照:

  数据库就是累积数据的仓库,其本质是三个文件系统,数据依照一定的格式将数据存款和储蓄起来,客商能够对数据库中的数据开展充实,修正,删除及查询操作。

CREATE DATABASE 数据库名

2,E-途睿欧图学习:列出一些宗旨新闻,笔者也是此处上学的

  

ON[PRIMARY]  --私下认可归于P本田CR-VIMA智跑Y主文件组,可粗略

3,主键:唯意气风发标记列
特色:字段非空
字段具有唯风姿洒脱性
该值分裂意改过(提议|【ps:改照旧有办法改的】卡塔 尔(阿拉伯语:قطر‎
种种实体只可以有三个主键(建议|【ps:也足以有联合主键】卡塔尔国
外键:连接分歧实体
作用:保持数据完整性

  mysql的dos窗口运营关闭命令:net start mysql和net stop mysql

(

4,数据库的三大范式(调控数据的冗余卡塔 尔(英语:State of Qatar)
率先范式(1NF卡塔尔国:确定保障每列保持原子性
其次范式(2NF卡塔尔国: 确认保证表中的每列都和主键相关
其三范式(3NF卡塔 尔(英语:State of Qatar): 确定保证每列都和主键列直接有关,实际不是直接相关
详细可参照:
【PS:博主有话说>>通过特有提供冗余数据,裁减连接的复杂度,获取更加快的询问时间。
那时候,撤除典型化也是必得的。
总的看,品质 > 标准】

  登入命令:(1卡塔尔mysql -u客户名 -p密码      (2卡塔 尔(英语:State of Qatar)mysql --host=ip地址 --user=顾客名 --password=密码

NAME='',  --主数据文件的逻辑名 名称

5,增加和删除改查格式:
增:INSERT INTO 表名(列名) VALUES (值)
删:DELETE FROM 表名 WHERE 条件 【PS:条件意气风发旦没加,则删除整张表数据。严慎操作】
改:UPDATE 表名 SET 字段 = '值' WHERE 条件 【PS:条件大器晚成旦没加,则改革整张表数据。严谨操作】

  

FILEAME='',  --主数据文件的情理名 路线 .mdf 次数据库为.ndf

查:SELECT * FROM 表名 WHERE 条件

【PS * : 表示检索钦点表中的具有列】

6, GROUP BY 子句1:用于分组输骑行
ORDER BY 子句2:排序【DESC | ASC】
语句1:
--解释:根据name来分组,并且根据name来排序

DOS操作数据乱码解决:

我们在dos命令行操作粤语时,会报错E卡宴RO帕杰罗 1366 (HY000): Incorrect string value: 'xD5xC5xC8xFD' for column 'username' at row 1

原因:因为mysql的客户端编码的题材我们的是utf8,而系统的cmd窗口编码是gbk

  设计方案(一时技术方案卡塔 尔(英语:State of Qatar):校正mysql客户端编码。

  show variables like 'character%'; 查看全部mysql的编码

(1卡塔 尔(英语:State of Qatar) 将客商端编码改善为gbk.

set character_set_results=gbk; / set names gbk;

以上操作,只针对当前窗口有功用,借使关闭了服务器便失效。纵然想要永远改良,通过以下措施:

(2卡塔尔国在mysql安装目录下有my.ini文件

default-character-set=gbk 客商端编码设置                     

character-set-server=utf8 服务器端编码设置

介怀:矫正完毕布局文件,重启服务

 

===============================================================================================================

  sql语句:

创制和退换表语句:

  CREATE    DATABASE madata;
USER madata;
/*
      成立数据表的格式
      
      create table 表名(
          列名1 数据类型 节制,
          列名2 数据类型 约束,
          列名3 数据类型 约束
      );
      创造客商表,客商号码,姓名,客户的地方
      将编号列,设置为主键限定,有限援救列的多少唯生龙活虎性,非空性
      primary key AUTO_INCREMENT
      让主键列数据,完成活动增加
*/
CREATE TABLE users(
    uid INT PRIMARY KEY AUTO_INCREMENT,
    uname VARCHAR(20),
    usex VARCHAR(20),
    uadress VARCHAR(200)
);

 /*
    加多列,增添字段
    alter table 表名 add 列名 数据类型 约束
 */
 ALTER TABLE users ADD tel INT;
 
  /*
    订正列的羁绊, 在原始的列上修正
    改过列名,数据类型约束  
    alter table 表名 modify 列名 数据类型 限制
  */
ALTER TABLE users MODIFY tel VARCHAR(20);

  /*
     修正列名
     alter table 表名 change 旧列名 新列名 数据类型 约束
  */
ALTER TABLE users CHANGE tel newtell DOUBLE;

  /*
    删除列
    alter table 表名 drop 列名  
  */
DESC users;
ALTER TABLE users DROP newtell;
 
  /*
     改革表名
     rename table 表名 to 新名
  */
RENAME TABLE users TO newusers;
SHOW TABLES;

/*show tables  显示全体数据表
desc  users    查看表中结构
drop table users 删除数据表
*/
SHOW TABLES;
DESC users;
DROP TABLE users;

 

 

===============================================================================================================

增加和删除改语句:

CREATE TABLE product(
    id INT PRIMARY KEY AUTO_INCREMENT,
    sname VARCHAR(20) NOT NULL,
    sprice DOUBLE
);

/*
   向数据表中添增添少 insert
   格式:
     insert into 表名(列名1,列名2,列名3) values (值1,值2,值3)
     注意:
        列名,表名难题
        对应难题,
         个数,数据类型
         主键id  是活动增进  不用赋值
         {增加数据格式,不思忖主键
    格式:
     insert into 表名 (列名) values (值)
     [当钦点增添到二十人置的时候 未有给id赋值的时候
      主键依然会自动增加(不是在2之后增进,而是在你钦定id之后增加卡塔尔国
      效果如下:
      ]
*/
INSERT INTO product (id,sname,sprice) VALUES (1,'笔记本',5888.99);
INSERT INTO product (sname,sprice) VALUES ('电视机',1888.88);
INSERT INTO product (sname,sprice) VALUES ('apple',1888.88);
INSERT INTO product (id,sname,sprice) VALUES (20,'洗衣机',888.22)
INSERT INTO product (sname,sprice) VALUES ('手机',888);
INSERT INTO product (sname,sprice) VALUES ('',777);
/*
   加多数据格式,全数值全给出
   格式:
     insert into 表名 values (全列值)
*/
INSERT INTO product VALUES (5,'微波炉',788);

/*
   增添数据格式,批量写入
   格式:
     insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3),(值1,值2,值3)
*/
INSERT INTO product (id,sname,sprice) VALUES (6,'小米',4888),
(7,'大黄蜂',7899),
(8,'红米',7854);

/*
    !!!当手动删除了所选项 增添的数额id(主键)会一而再自动拉长,
    缺的id(主键卡塔 尔(阿拉伯语:قطر‎能够延续点名增添数据就能够
*/

/*
     update 表名 set 列1=值1,列2=值2 where 条件
     where 条件: 数据中的唯生机勃勃性
*/

-- 改过TV,价格上调到5999
UPDATE product SET sprice=5999 WHERE id=2;
UPDATE product SET sprice=5888 WHERE sname='电视机';
 
-- 改过电视,名字改为黑白电视选取机,价格,100
UPDATE product SET sname='黑白电视接受机机',sprice=100 WHERE id=2;
UPDATE product SET sname='彩电',sprice=200 WHERE sname='黑白电视机机';

/*
    改进法则的写法
    id=6
    id<>6  不等于
    id<=6  
    与 或 非  (&& || !)
    && and
    || or
    ! not
    
    id in (1,3,4,5,6) 包含   [表示id在13456的持有数据]
*/
-- 将笔记本的价格,和电磁波炉的价钱,全部制修改正为二〇〇一
UPDATE product SET sprice=2000 WHERE id=1 OR id=5;
UPDATE product SET sprice=50000 WHERE sname='笔记本' OR sname='微波炉';

/*
  删除表中的数量
  格式:
    delete from 表名 where 条件
    
    drop table 表名 删除全数数据表
*/
-- 删除Nokia  删除大黄蜂
DELETE FROM product WHERE id=6;
DELETE FROM product WHERE sname='大黄蜂';

 

===============================================================================================================

查询语句:

CREATE    TABLE zhangwu(
    sid INT PRIMARY KEY AUTO_INCREMENT,
    sname VARCHAR(200) NOT NULL,
    smoney DOUBLE
);

INSERT INTO zhangwu (sid,sname,smoney) VALUES (1,'吃饭支出',350.22);
INSERT INTO zhangwu (sid,sname,smoney) VALUES (2,'衣裳开采',8555);
INSERT INTO zhangwu (sid,sname,smoney) VALUES (3,'普通收入',5777);
INSERT INTO zhangwu (sid,sname,smoney) VALUES (4,'果汁支出',5453);
INSERT INTO zhangwu (sid,sname,smoney) VALUES (5,'卖衣性格很顽强在艰难险阻或巨大压力面前不屈收入',46456);
INSERT INTO zhangwu (sid,sname,smoney) VALUES (6,'吃饭支出',4654);

/*
   查询钦命列的数额
   格式:
     select 列名1,列名2 from 表名
*/
SELECT zname,zmoney FROM zhangwu;

/*
  查询全数列的数量
  格式:
    select * from 表名
*/
SELECT *FROM zhangwu;

/*
   查询去掉重复记录
 SELECT DISTINCT  要询问的名字(关键字卡塔尔 from  表名
*/
SELECT DISTINCT sname FROM zhangwu;
SELECT DISTINCT smoney FROM zhangwu;
SHOW TABLES;
DESC zhangwu;
SELECT *FROM zhangwu;
/*
  查询重新命名列
  as 关键字
  [SELECT 要查询的名字  AS '有时转移的名字'(''可加可不加!!!) FROM  表名]
*/
SELECT sname AS '名字' FROM zhangwu;
SELECT * FROM zhangwu AS zw;
/*
  查询数据中,直接开展数学总计
  列对数字实行测算
*/
SELECT sname,smoney+1000 AS 'sum' FROM zhangwu;

-- 查询全体的用餐支出
SELECT * FROM zhangwu WHERE sname ='吃饭支出';

-- 查询金额超越1000
SELECT * FROM zhangwu WHERE smoney >1000;

-- 查询金额在4000到7000里头
SELECT * FROM zhangwu WHERE smoney <7000 AND smoney >4000;

-- 改造成between and 方式
SELECT * FROM zhangwu WHERE smoney BETWEEN 4000 AND 7000;

-- 查询金额是 5777,8555,5453 个中叁个
SELECT * FROM zhangwu WHERE smoney = 5777 OR smoney =8555 OR smoney =5453;

-- 改造成in方式
SELECT * FROM zhangwu WHERE smoney IN(5777,8555,5453);

-- like 模糊查询 合作通配符
-- 查询全数的开支
SELECT * FROM zhangwu WHERE sname LIKE '%支出%';

-- 查询账务名字,八个字符的
SELECT * FROM zhangwu WHERE sname LIKE '_____';

-- 查询账务名,不为空的
SELECT * FROM zhangwu WHERE sname IS NOT NULL;
SELECT * FROM zhangwu WHERE NOT (sname IS NULL);

/*
询问排序
*/

/*
  查询,对结果集举行排序
  升序,降序,对点名列排序
  order by 列名 [desc][asc]
  desc 降序
  asc  升序排列,能够不写
*/
-- 查询账务表,价格举行升序
SELECT * FROM zhangwu ORDER BY smoney ASC;

-- 查询账务表,价格实行降序
SELECT * FROM zhangwu ORDER BY smoney DESC;

-- 查询账务表,查询全体的支出,对金额降序排列
-- 先过滤条件 where 查询的结果再排序
SELECT * FROM zhangwu WHERE sname LIKE '%支出' ORDER BY smoney DESC;
 
 
 /*
 聚合函数查询
 */
 /*
   使用聚合函数查询计算
*/

-- count 求和,对表中的数据的个数求和  count(列名)
-- 查询总结账务表中,豆蔻梢头共有微微条数据
SELECT COUNT(*) FROM zhangwu;
SELECT COUNT(sid) AS'个数' FROM zhangwu;

-- sum求和,对一列中多少开展求和测算 sum(列名)
-- 对账务表查询,对富有的金额求和测算
SELECT SUM(smoney) FROM zhangwu;
SELECT SUM(smoney) AS '总金额' FROM zhangwu;

-- 求和,计算全数支出的总金额
SELECT SUM(smoney) FROM zhangwu WHERE sname LIKE '%支出';
SELECT SUM(smoney) AS '支出金额' FROM zhangwu WHERE sname LIKE '%支付';

-- max min函数,对某列数据,获取最大值 最小值
SELECT MAX(smoney) FROM zhangwu;
SELECT MIN(smoney) FROM zhangwu;

-- avg 函数,总结一个列全部数量的平平均数量
/*借使有空值那么 就不合算进去个数  不插手总结*/
SELECT AVG(smoney) FROM zhangwu;
SELECT AVG(smoney) FROM zhangwu WHERE sname LIKE '%支出';
 
 
 
/*
分组查询
*/

/*
    查询全体的多寡
    吃饭支出 共计多少
    薪俸收入 共计多少
    衣服开垦 共计多少
    股票收入 共计多少
    打麻将付出 共计多少钱
    
    分组查询:  group by 被分组的列名
    必得跟随聚合函数
    select 查询的时候,被分组的列,要出新在select 接收列的前边
*/
  SELECT SUM(zmoney),zname FROM zhangwu GROUP BY zname
 
-- 对zname内容张开分组查询求和,可是借使支付
SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu WHERE zname LIKE'%支出%'
GROUP BY zname
ORDER BY getsum DESC

-- 对zname内容举行分组查询求和,但是只要支付, 展现金额超越5000
-- 结果集是分组查询后,再度展开筛选,不可能使用where, 分组后再行过滤,关键字 having
SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu WHERE zname LIKE'%支出%'
GROUP BY zname HAVING getsum>5000
/*万生龙活虎未有对获得钱的名字进行权且改造  就非得把名字写全SUM(smoney)本领重复筛选 过滤
*/
SELECT SUM(smoney),sname FROM zhangwu WHERE sname LIKE '%支出' GROUP BY sname HAVING SUM(smoney)>6000;

 

===============================================================================================================
多表查询:

  • 多表的查询的章程:

* 交叉连接:

    * select * from A,B;   --- 获得的是五个表的笛Carl积.

* 内连接: inner join -- inner 能够简单

    * 显式内连接:select * from A inner join B on 条件;

        * SELECT * FROM customer c INNER JOIN orders o ON c.cid = o.cid;

    * 隐式内三番一遍:select * from A,B where 条件;

        * SELECT * FROM customer c ,orders o WHERE c.cid = o.cid;

* 外连接:outer join -- outer 能够总结

    * 左外连接:left outer join  -- select * from A left outer join B on 条件;

        * SELECT * FROM customer c LEFT OUTER JOIN orders o ON c.cid = o.cid;

    * 右外接连:right outer join -- select * from A right outer join B on 条件;

        * SELECT * FROM customer c RIGHT OUTER JOIN orders o ON c.cid = o.cid;

 

多表查询的子查询:

  • 三个SQL语句询问的长河中须求依赖另一个查询语句.

SELECT * FROM customer c,orders o WHERE c.cid = o.cid AND  c.cid IN (SELECT cid FROM orders WHERE addr LIKE '贵州%');

 

SIZE=5mb,  --主数据文件初步大小

--【PS:使用group by 时,查询的非聚合函数都要在group by中】

SELECT NAME FROM USERS GROUP BY NAME ORDER BY NAME DESC

7,PIVOT: 将行旋转成列

MASSIZE=100mb,  --主数据文件增进最大值

语句2:

SELECT [星期一],[星期二],[星期三],[星期四],[星期五],[星期六],[星期日]
--这里是PIVOT第三步(接收行转列后的结果集的列卡塔尔国这里能够用“*”表示接纳具有列,也足以只接受一些列(也正是少好些天)
FROM WEEK_INCOME
--这里是PIVOT第二步骤(思索原始的询问结果,因为PIVOT是对二个原本的询问结果集举办转移操作,
--所以先查询一个结果集出来)这里可以是一个select子查询,但为子查询时候要内定小名,不然语法错误
PIVOT
(
SUM(INCOME) for [week] in([星期一],[星期二],[星期三],[星期四],[星期五],[星期六],[星期日])
--这里是PIVOT第一步骤,也是主导的地点,举办行转列操作。
--聚合函数SUM表示您需求什么管理调换后的列的值,是总和(sum),
--照旧平均(avg)依然min,max等等。比方假若week_income表中有两条数据同有的时候候其week都以“周一”,
--在这之中一条的income是1000,另一条income是500,那么在此边运用sum,行转列后“周生龙活虎”那些列的值当然是1500了。
--后面的for [week] in([星期一],[星期二])中 for [week]说是将week列的值分别转变来贰个个列,
--也等于“以值变列”。可是须要调换来列的值有望有无数,我们只想取中间多少个值调换到列,那么哪些取呢?
--便是在in里面了,比如本人此刻只想看工作日的受益,在in里面就只写“周三”至“星期一”
--(注意,in里面是原先week列的值,"以值变列"卡塔尔。
--由此可以见到,SUM(INCOME) for [week] in([星期一],[星期二],[星期三],[星期四],[星期五],[星期六],[星期日])
--那句的情趣要是直译出来,
--就是说:将列[week]值为"周四","星期二","礼拜生机勃勃","星期二","礼拜五","周日","周六"分别调换成列,
--那个列的值取income的总和。

FILEGROETH=15%  --主数据文件增长率

)TBL--别称应当要写

)

【PS:以下语句as的情趣是给列起别称的乐趣】

语句3:
select [1] as 'v1',[2],[3],[4],[5],[6],[7],[8]
from (
select PublisherId
from books
) as tb_source
pivot(
count(PublisherId) for PublisherId in ([1],[2],[3],[4],[5],[6],[7],[8])
) as tb_pivot

8,ROW_NUMBELX570(): 重回多少个唯风姿罗曼蒂克的队列号
【ps:要配合over(order by 列名);】

LOG ON

语句4:

SELECT ROW_NUMBER() OVER(ORDER BY ID),* FROM Books

9,PARTITION BY 子句3:用于将结果集划分为运用了ROW_NUMBEEscort()函数的分区
种种分区的首先行都以从1开端的

(

语句5:

SELECT ROW_NUMBER() OVER(PARTITION BY PublisherId ORDER BY PublisherId) as rownumber,*
FROM Books WHERE PublisherId in (1,2,3)

10,通配符:% _ [] [^]

NAME='',  --日志文件的逻辑名

语句6:查找顾客名以L开端的客户音信

SELECT * FROM USERS WHERE USERNAME LIKE 'L%'

11,聚合函数:SUM() --求和
COUNT() --求数量
MIN() -- 最小值
MAX() -- 最大值
AVG() -- 平均数
ROW_NUMBELX570() -- 获取类别号

12,日期函数:
CURRENT_TIMESTAMP --2017-11-23 19:11:03.320
GETDATE() --2017-11-23 19:11:03.320
DATEPART(YEAR, GETDATE()) --2017
YEAR(GETDATE()) --2017

13,表连接:
13.1 内连接: 语法1:SELECT * FROM A INNER JOIN B ON A.ID = B.AID;

FILEAME='',  --日志文件的物理名 .ldf

语法2:SELECT * FROM A, B WHERE A.ID = B.ID

【PS:以下语句是为表起小名,何况询问钦赐表的内定字段音信】

SIZE=5mb,  --日志文件带头大小

SELECT a.c1, b.c1 FROM A a INNER JOIN B b ON A.ID = B.AID;

13.2 外连接:
13.2.1 左连接:SELECT * FROM A LFET JOIN B ON A.ID = B.AID;
13.2.2 右连接:SELECT * FROM A RIGHT JOIN B ON A.ID = B.AID;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
【PS:左连接 与 右连接 是有分其余,】详细情况可查阅:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
13.3 全连接 :SELECT * FROM 表1 FULL JOIN 表2 ON 表1.ID = 表2.表1_ID;

14,UNION JOIN :成立二个包涵四个表中全数行的表
SELECT * FROM A union JOIN B ON A.ID = B.AID;
等价于:
SELECT * FROM A UNION ALL SELECT * FROM B
【PS:两表必需有后生可畏致数量的列,对应的数据类型要同盟】

15,关于空行:

MASSIZE=100mb,  --日志文件增加最大值

语句7:(查询客户名不为空的数据行)【IS NULL : 与 IS NOT NULL 相反】

SELECT * FROM USERS WHERE NAME IS NOT NULL
【PS: NAME = NULL 与 NAME IS NULL 是不平等的】

FILEGROETH=15%  --日志文件增加率

语句8:查询客户表中的客户名,若为空,则用‘未知’替代

SELECT ISNULL(Name, '未知') FROM USERS

16,BETWEEN...AND... / IN() / NOT IN() --范围性条件

17,条件逻辑运算符:AND / O奥迪Q5 / NOT

18,创制新表1
语句9:创制二个一时表【#temp: 表名加#,注明创造有的时候表,不然为世代表|

)

偶尔表的周期:查询窗口关闭即销毁】

SELECT ID, USERNAME, LOGINID, EMAIL INTO #TEMP FROM USERS

语句10:用场:能够复制五个表结构:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
SELECT * INTO USERS_L FROM USEEnclaveS --复制表结构,同期复制表数据,不过Infiniti制,无主键
SELECT * INTO USERS_L FROM USE福睿斯S WHERE 1=0 --复制表结构,不过不复制表数据,无束缚
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

19,操作数据:
开创表后,插入数据:使用第5点INSERT INTO;
【PS:插入的数目中,有外键列存在的话,则插入的数额在外键表中必需存在,不然插入失利。--[保险数据完整性]】

履新数据:
更新一条数据中的七个字段:

 

语句11:

UPDATE A SET NAME='JAKE',LOGINID='10001' WHERE ID = 1

去除数据:

删库  跑路

语句12:

DELETE FROM USERS WHERE ID = 1;
数据量大时,可用:TRUNCATE TABLE
【PS:TRUNCATE不执行日志操作,不扶持恢复生机删除的数目】
【网络说利用delete误删除的: 能够应用mdfview程序回复,下载地址:
【小编没试过...】

DROP  DATABASE 数据库名

删表

DROP TABLE 表名

 

二个表只好有一个主键,主键限制保险了表中的行是独一无二的。

表中得以未有主键。

假诺两列或多列组合起来唯生龙活虎的标记每生龙活虎行,则该主键又称组合键。

外键是对应主键来说的,是子表中对应于主键的列,他的值供授予主表的主键恐怕唯豆蔻梢头键对应。

 

常用数据类型:

二进制数据:image是C#中的byte[]类型,数量任性。binary数据量限制。

字符串类型:

char//ncher//varcher//nvarcher

text//ntext

varcher(MAX)//nvercher(MAX)

不带n的数据类型,存款和储蓄波兰语数字是叁个字节,男士八个字节。带n的则整个三个字节。char(2个字节) nchar(2个字符(4个字节))。

不带n的长度最长8000。带n的最长能够4000。(varcher(MAX)//nvercher(MAX)最大能够八个G,在05版本从前使用text,ntext。)

不带var的代表固定长度(永恒占一定的字节,自动补全字节数,浪费空间)。带var的代表可变长度。

日子数额:datetime

 

陈设语句(增卡塔尔国

 

INSERT INTO 表名 (列名,列名) VALUES ('xx','xx')

 

删去语句(删卡塔 尔(英语:State of Qatar)

 

DELETE FROM 表名

WHERE 条件

 

删去全部记录:DELETE FROM 表名  --表结构,列,索引等还将设有,自增值依然从大值依次增加。

删除全部数目:TRUNCATE TABLE 表名    --不能够用来有外键的表,表结构,列,索引等还将设有,速度比DELETE语句快。自增值重新初始化。不触发触发器。

 

改过语句(改卡塔 尔(英语:State of Qatar)

 

UPDATE 表名

SET 列名=值,列名=值

WHERE 条件

 

检索语句(查卡塔尔国

 

搜索语句的处理顺序:

FORM 表名

ON

INNER JOIN ...

WHERE 条件

GROUP BY ...

WITH CUBE或WITH ROLLUP

HAVING ...

SELSCT 列名

DISTINCT

ORDER BY ASC/DESC

TOP

 

排序查询 ORDER BY ASC/DESC

该语句必得,一定放在语句的最终。

 

分组查询 GROUP BY 列名

当使用了分组语句或聚合函数时,在select列表中不能够再满含别的的列名,除非该列名在分组语句中或聚合函数中。

 

分组后推断规范 HAVING

对分组后的原则筛选必得使用HAVING子句,在GROUP BY句以前可用WHERE。

having能够选拔聚合函数,但while不可。

 

联手结果集 UNION

协助实行要求多个结果集列的多少相通,列的数据类型宽容。

UNION会去处重复,重新排序。UNION ALL不会,节省品质。

 

SELECT 表名.列,表名.列 FORM 表名 INNEWrangler JOIN 表名 ON 条件    --内连接查询语句,INNE奥迪Q5 JOIN可简写成JOIN

 

SELECT 表名.列,表名.列 FORM 表名 LEFT/RIOGHT/FULL OUTER JOIN 表名 ON 条件

--左外链接语句,OUTESportage可省略,结果集会包蕴LEFT JOIN所钦赐的左表的具有行,即使左表行在右表中无相配,将会填充为空,右连接同理。

--FULL代表完全外链接,结果集会富含左右表的兼具行,当某行在另一表中平素不相称行则会含有空值。

 

查询全体列,去重新数据:SELSCT DISTINCT* FORM 表名

DISTINCT  --针对查询出的结果集去除重复

 

限定行数查询:SELSCT TOP 5 * FORM 表名 ORDER BY 列名 ASC/DESC

TOP  --常与 ORDER BY 连用,

 

至于空值查询 NULL

NULL值无法用=和<>来判断,使用IS NULL只怕IS NOT NULL。

别的值与 NULL 计算,结果都是NULL。

 

张冠李戴查询

混淆查询:SELECT 列名 LIKE '%'

_  代表跋扈单个字符。

%  代表跋扈七个字符。

【0-9】【a-z】【_】表示筛选范围,^表示免除范围。

[]  转义  ESCAPE '/' 后跟此句代表自定义转义符。

 

按百分比约束查询:SELSCT TOP 50 PERCENT * FORM 表名

 

在某些范围查询:SELECT 列名 BETWEEN '' AND ''

 

在某些值内查询:SELECT 列名 FORM 表名 IN ('','')

 

聚合函数

 

聚合函数不计算空值

询问表明式中数值的和:SELECT SUM(列名) FORM 表名 WHERE 条件

查询平均值:SELECT AVG(列名) FORM 表名 WHERE 条件

查询最小值:SELECT MIN(列名) FORM 表名 WHERE 条件

询问最大值:SELECT MAX(列名) FORM 表名 WHERE 条件

询问非空驶列车:SELECT COUNT(列名) FORM 表名 WHERE 条件

 

类型转换函数

CAST(值 as 数据类型卡塔尔国

CONVERT(数据类型,值卡塔 尔(阿拉伯语:قطر‎

 

顿然公开学:

转发请联系

本文由金沙棋牌发布于金沙棋牌app手机下载,转载请注明出处:java复习基础篇,基础知识与语句笔记

关键词:

上一篇:没有了

下一篇:没有了