`
li370604005
  • 浏览: 47442 次
  • 性别: Icon_minigender_1
  • 来自: 盐城
社区版块
存档分类
最新评论

W3Cshool中的mysql命令说明及用法。转载自W3school

 
阅读更多

Mysql

 

PS:如果想从两种类似的表中查询出来将结果合并为一列数据时不能使用Join,而是用Union 

例如:(select videoUrl as fileUrl,videoName as fileName, fileId as fileId from 

znkt_file_bind_video where fileId=?) UNION (select imageUrl as fileUrl,

imageName as imageName,fileId as fileId from znkt_file_bind_image WHERE fileId=?)

Tips:truncate table table_name 快速的清空一张表,比逐条删除要快很多。不会引起mysql 死锁;

1.SQL SELECT DISTINCT 语句

KeyWords 去重,

2.SELECT Company, OrderNumber FROM Orders ORDER BY Company DESC, OrderNumber ASC

KeyWords 排序,二次排序,多条件排序

3.SELECT TOP 50 PERCENT * FROM Persons

KeyWords 批量,百分比,前百分之

4.SELECT * FROM Persons WHERE City LIKE '%lon%'

KeyWords 通配符,字段包含,含糊查询

%java *的作用类似,比如%lon 意思是lon左侧什么都可以但右侧不允许有。

SQL 通配符

在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符。

SQL 通配符必须与 LIKE 运算符一起使用。

在 SQL 中,可使用以下通配符:

通配符

描述

%

替代一个或多个字符

_

仅替代一个字符

[charlist]

字符列中的任何单一字符

[^charlist]

或者

[!charlist]

不在字符列中的任何单一字符

现在,我们希望从上面的 "Persons" 表中选取居住的城市以 "A" 或 "L" 或 "N" 开头的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE City LIKE '[ALN]%'

如果不希望包含则为'[!ALN]%'

SQL IN 语法

KeyWords 多条件

现在,我们希望从上表中选取姓氏为 Adams 和 Carter 的人:

我们可以使用下面的 SELECT 语句:

SELECT * FROM Persons

WHERE LastName IN ('Adams','Carter')

6.BETWEEN 操作符

KeyWords ...之间,大于..且小于

操作符 BETWEEN .如需以字母顺序显示介于 "Adams"(包括)和 "Carter"(不包括)之间的人,请使用下面的 SQL

SELECT * FROM PersonsWHERE LastNameBETWEEN 'Adams' AND 'Carter'

BETWEEN ..AND 会选取介于两个值之间的数据范围。这些值可以是数值、文本或者日期。

 

重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 

如需使用上面的例子显示范围之外的人,请使用 NOT 操作符:

SELECT * FROM PersonsWHERE LastNameNOT BETWEEN 'Adams' AND 'Carter'

 

7.SQL Alias(别名)

KeyWords 别名 实例 简写 方便

SQL Alias

表的 SQL Alias 语法

SELECT column_name(s)FROM table_nameAS alias_name

列的 SQL Alias 语法

SELECT column_name AS alias_nameFROM table_name

Alias 实例: 使用表名称别名

假设我们有两个表分别是:"Persons" 和 "Product_Orders"。我们分别为它们指定别名 "p" 和 "po"

现在,我们希望列出 "John Adams" 的所有定单。

我们可以使用下面的 SELECT 语句:

SELECT po.OrderID, p.LastName, p.FirstNameFROM Persons AS p, Product_Orders AS poWHERE p.LastName='Adams' AND p.FirstName='John'

不使用别名的 SELECT 语句:

SELECT Product_Orders.OrderID, Persons.LastName, Persons.FirstNameFROM Persons, Product_OrdersWHERE Persons.LastName='Adams' AND Persons.FirstName='John'

 

8.SQL JOIN

KeyWords 表表连接,左连接,右连接,(与ON同时使用)

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsINNER JOIN OrdersON Persons.Id_P = Orders.Id_PORDER BY Persons.LastName

 

不同的 SQL JOIN

除了我们在上面的例子中使用的 INNER JOIN(内连接),我们还可以使用其他几种连接。

下面列出了您可以使用的 JOIN 类型,以及它们之间的差异。

<!--[if !supportLists]-->· <!--[endif]-->JOIN: 如果表中有至少一个匹配,则返回行

<!--[if !supportLists]-->· <!--[endif]-->LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

<!--[if !supportLists]-->· <!--[endif]-->RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

<!--[if !supportLists]-->· <!--[endif]-->FULL JOIN: 只要其中一个表中存在匹配,就返回行

9.SQL UNION 操作符

KeyWords 合并

SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2

<!--[if !supportLists]-->10.<!--[endif]-->SQL SELECT INTO 语句可用于创建表的备份复件。

KeyWords 备份

可以把所有的列插入新表:

SELECT *INTO new_table_name [IN externaldatabase] FROM old_tablename

或者只把希望的列插入新表:

SELECT column_name(s)INTO new_table_name [IN externaldatabase] FROM old_tablename

11.SQL CREATE DATABASE 语句

KeyWords 创建数据库

12.SQL CREATE TABLE 语句

KeyWords 创建表

SQL CREATE TABLE 语法

CREATE TABLE 表名称(列名称数据类型,列名称数据类型,列名称数据类型,....)

实例

CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255),FirstName varchar(255),Address varchar(255),City varchar(255),

UNIQUE (Id_P))

SQL 约束

约束用于限制加入表的数据的类型。

可以在创建表时规定约束(通过 CREATE TABLE 语句),或者在表创建之后也可以(通过 ALTER TABLE 语句)。

我们将主要探讨以下几种约束:

<!--[if !supportLists]-->· <!--[endif]-->NOT NULL

<!--[if !supportLists]-->· <!--[endif]-->UNIQUE

<!--[if !supportLists]-->· <!--[endif]-->PRIMARY KEY

<!--[if !supportLists]-->· <!--[endif]-->FOREIGN KEY

<!--[if !supportLists]-->· <!--[endif]-->CHECK

<!--[if !supportLists]-->· <!--[endif]-->DEFAULT

 

下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 UNIQUE 约束:

MySQL:

CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),UNIQUE (Id_P))

SQL Server / Oracle / MS Access:

CREATE TABLE Persons(Id_P int NOT NULL UNIQUE,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255))

如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName))

SQL UNIQUE Constraint on ALTER TABLE

当表已被创建时,如需在 "Id_P" 列创建 UNIQUE 约束,请使用下列 SQL

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE PersonsADD UNIQUE (Id_P)

如需命名 UNIQUE 约束,并定义多个列的 UNIQUE 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE PersonsADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

撤销 UNIQUE 约束

如需撤销 UNIQUE 约束,请使用下面的 SQL

MySQL:

ALTER TABLE PersonsDROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE PersonsDROP CONSTRAINT uc_PersonID

 

SQL PRIMARY KEY 约束 主键

PRIMARY KEY 约束唯一标识数据库表中的每条记录。

主键必须包含唯一的值。

主键列不能包含 NULL 值。

每个表都应该有一个主键,并且每个表只能有一个主键。

SQL PRIMARY KEY Constraint on CREATE TABLE

下面的 SQL 在 "Persons" 表创建时在 "Id_P" 列创建 PRIMARY KEY 约束:

MySQL:

CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),PRIMARY KEY (Id_P))

SQL Server / Oracle / MS Access:

CREATE TABLE Persons(Id_P int NOT NULL PRIMARY KEY,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255))

如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName))

SQL PRIMARY KEY Constraint on ALTER TABLE

如果在表已存在的情况下为 "Id_P" 列创建 PRIMARY KEY 约束,请使用下面的 SQL

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE PersonsADD PRIMARY KEY (Id_P)

如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE PersonsADD CONSTRAINT pk_PersonID PRIMARY KEY (Id_P,LastName)

注释:如果您使用 ALTER TABLE 语句添加主键,必须把主键列声明为不包含 NULL 值(在表首次创建时)。

撤销 PRIMARY KEY 约束

如需撤销 PRIMARY KEY 约束,请使用下面的 SQL

MySQL:

ALTER TABLE PersonsDROP PRIMARY KEY

SQL Server / Oracle / MS Access:

ALTER TABLE PersonsDROP CONSTRAINT pk_PersonID

 

SQL CHECK 约束

CHECK 约束用于限制列中的值的范围。

如果对单个列定义 CHECK 约束,那么该列只允许特定的值。

如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。

SQL CHECK Constraint on CREATE TABLE

下面的 SQL 在 "Persons" 表创建时为 "Id_P" 列创建 CHECK 约束。CHECK 约束规定 "Id_P" 列必须只包含大于 的整数。

My SQL:

CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),CHECK (Id_P>0))

SQL Server / Oracle / MS Access:

CREATE TABLE Persons(Id_P int NOT NULL CHECK (Id_P>0),LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255))

如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes'))

SQL CHECK Constraint on ALTER TABLE

如果在表已存在的情况下为 "Id_P" 列创建 CHECK 约束,请使用下面的 SQL

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE PersonsADD CHECK (Id_P>0)

如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE PersonsADD CONSTRAINT chk_Person CHECK (Id_P>0 AND City='Sandnes')

撤销 CHECK 约束

如需撤销 CHECK 约束,请使用下面的 SQL

SQL Server / Oracle / MS Access:

ALTER TABLE PersonsDROP CONSTRAINT chk_Person

MySQL:

ALTER TABLE PersonsDROP CHECK chk_Person

 

 

SQL DEFAULT 约束

DEFAULT 约束用于向列中插入默认值。

如果没有规定其他的值,那么会将默认值添加到所有的新记录。

SQL DEFAULT Constraint on CREATE TABLE

下面的 SQL 在 "Persons" 表创建时为 "City" 列创建 DEFAULT 约束:

My SQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255) DEFAULT 'Sandnes')

通过使用类似 GETDATE() 这样的函数,DEFAULT 约束也可以用于插入系统值:

CREATE TABLE Orders(Id_O int NOT NULL,OrderNo int NOT NULL,Id_P int,OrderDate date DEFAULT GETDATE())

SQL DEFAULT Constraint on ALTER TABLE

如果在表已存在的情况下为 "City" 列创建 DEFAULT 约束,请使用下面的 SQL

MySQL:

ALTER TABLE PersonsALTER City SET DEFAULT 'SANDNES'

SQL Server / Oracle / MS Access:

ALTER TABLE PersonsALTER COLUMN City SET DEFAULT 'SANDNES'

撤销 DEFAULT 约束

如需撤销 DEFAULT 约束,请使用下面的 SQL

MySQL:

ALTER TABLE PersonsALTER City DROP DEFAULT

SQL Server / Oracle / MS Access:

ALTER TABLE PersonsALTER COLUMN City DROP DEFAULT

 

分享到:
评论

相关推荐

    w3cshool离线手册2016-5-31

    w3cshool离线手册2016-5-31

    w3cshool文档使用教程

    【W3Cschool文档使用教程】是一份全面的在线学习资源,主要涵盖了互联网技术的多个重要领域,包括HTML、XML、浏览器脚本、服务器技术以及.NET框架等。这些教程为初学者提供了丰富的学习资料,同时也适合有一定基础的...

    W3CShool离线教程最新版

    【W3CShool离线教程最新版】是IT学习者不可或缺的资源,它提供了全面且最新的Web技术教程。W3CShool作为全球知名的在线学习平台,以其丰富的教学内容和友好的用户界面赢得了广大开发者和初学者的喜爱。离线版本则...

    w3cshool 文档下载

    从左侧的菜单选择你需要的教程! 完整的网站技术参考手册 我们的参考手册涵盖了网站技术的方方面面。...W3School将为您回答这个问题,在您成为专业Web开发者的路上助一臂之力,从而更好地应对未来的挑战。

    最新W3CShool帮助文档CHM版

    这个“最新W3CShool帮助文档CHM版”将该平台丰富的教学内容整合到了一个离线的CHM(Compiled Help Manual)文件中,为开发者提供了一种无需互联网连接即可查阅和学习的高效方式。 CHM文件是一种由Microsoft编译的...

    w3cshool可执行文件EXE版 非最新

    w3cshool 9.89M可执行EXE离线文件版 2010年八九月份 非最新chm版,不过里面的内容不会少多少,一般人够用了

    w3cshool线下教程

    《w3cshool线下教程》是一份专为学习者设计的离线编程教程资源,包含丰富的Web开发知识。这份CHM(Compiled HTML Help)文件是Windows操作系统下的帮助文档格式,便于用户在没有网络连接的情况下查阅和学习。下面将...

    W3Cshool离线电子书

    中文版W3Cschool,对于开发web前端和学习的人来说是不可或缺的工具。。

    w3cshool之JavaScript 基础.docx

    在JavaScript中,数组的遍历可以使用`for`循环配合索引,或者使用`for...of`循环(在ES6及以上版本中引入),后者更加简洁,直接遍历数组的值而不是属性。例如: ```javascript var mycars = ["Saab", "Volvo", ...

    开发者手册CSS+HTML+w3cshool

    开发者手册CSS+HTML+w3cshool: 完整版W3CSchool线下教程.chm XMLHttp中文参考手册.chm xHTML参考手册.chm w3c教程.chm w3c标准html5手册.chm css开发者手册.chm CSS 3.0参考手册.chm CSS 2.0参考手册.chm

    w3cshool中文版帮助文档

    w3cshool中文版帮助文档,关于W3School 帮助W3School领先的 Web 技术教程 - 全部免费 在w3school,你可以...W3School 简体中文版提供的内容仅用于培训和测试,不保证内容的正确性。

    W3School离线手册

    1.包含html、css、JavaScript三大部分 2.离线手册和官方在线手册一样,具有一样的功能

    最新版的w3cshool(HTML,css,js..)

    在最新的w3cshool资源中,JavaScript部分可能包括基本语法、变量、数据类型、控制流、函数、对象、DOM操作、AJAX异步通信,甚至是ES6及以后版本的新特性。JavaScript与HTML和CSS结合,可以实现用户交互、动态内容...

    w3cshool说明文档

    CSS(层叠样式表)是网页设计中的重要部分,W3Cschool手册会详细介绍选择器的使用、盒模型、布局技术(如流式布局、网格系统、Flexbox和Grid)、响应式设计以及CSS动画和过渡效果。同时,手册还会涉及CSS预处理器如...

    W3cshool文档单机版

    "W3cshool文档单机版"是一款专为Web开发者设计的学习工具,它包含了丰富的Web开发相关知识,包括HTML、CSS、JavaScript、SQL等核心技术。这个单机版的最大优势在于,用户无需连接互联网,就可以随时随地查阅和学习...

    用css写的仿w3school静态网页

    在本项目中,“用css写的仿w3school静态网页”是一个学习和实践CSS技术的实例。这个项目的主要目的是模仿知名在线编程学习平台w3school的网页设计,通过使用CSS(层叠样式表)来实现页面的布局和美化。在这个过程中...

    W3school2020离线手册 全套教程 最新中文chm格式

    W3school2020离线手册是CHM格式的,包含HTML/XHTML/HTML5/CSS/XML/PHP/JavaScript/AJAX/JQuery/SQL等文档手册,包含全套教程,需要的朋友可下载试试!

    w3school中文离线CHM

    **标题:“w3school中文离线CHM”** **关键词:w3school、中文、离线、CHM** **正文:** **w3school** 是一个全球知名的在线学习平台,专注于提供Web技术相关的教程和参考资料,包括HTML、CSS、JavaScript、SQL、...

    w3school中文整站

    w3school中文整站CHM版 有小部分不全实在没办法了请见谅

Global site tag (gtag.js) - Google Analytics