mysql数据库的相关知识_MYsql数据库相关知识

1、Sql = 数据操作语言 (DML) 和 数据定义语言 (DDL)。

DML:查询和更新指令构成了 SQL 的 DML 部分:

SELECT - 从数据库表中获取数据

UPDATE - 更新数据库表中的数据

DELETE - 从数据库表中删除数据

INSERT INTO - 向数据库表中插入数据

DDL) 部分创建或删除表格、定义索引(键),规定表之间的链接,以及施加表间的约束。

CREATE DATABASE - 创建新数据库

ALTER DATABASE - 修改数据库:在已有的表

CREATE TABLE - 创建新表

ALTER TABLE - 变更(改变)数据库表

DROP TABLE - 删除表

CREATE INDEX - 创建索引(搜索键)

DROP INDEX - 删除索引

2、关键字:

1)distinct 放在列的最前边,表示某列不同的值。

SELECT DISTINCT 列名称 FROM 表名称

2)ORDER BY 语句用于根据指定的列对结果集进行排序。默认升序,desc降序

3)LIMIT 返回记录的数目限制

4)like + 通配符---匹配莫中模式

5)IN 操作符允许我们在 WHERE 子句中规定多个值 :

SELECT * FROM Persons

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

6)join:从两个或更多的表中获取结果。我们就需要执行

方法1 :SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo

FROM Persons, Orders

WHERE Persons.Id_P = Orders.Id_P

方法2:SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo

FROM Persons

INNER JOIN Orders

ON Persons.Id_P = Orders.Id_P

ORDER BY Persons.LastName

INNER JOIN 关键字在表中存在至少一个匹配时返回行。没有就不返回

LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。

只要其中某个表存在匹配,FULL JOIN 关键字就会返回行

7)UNION 操作符用于合并两个或多个 SELECT 语句的结果集,把两个相同结构和数据类型的列表的结果和成一列显示,不许有重复值,

UNION ALL  可有重复值。

SELECT column_name(s) FROM table_name1

UNION

SELECT column_name(s) FROM table_name2

8)SQL SELECT INTO 语句可用于创建表的备份复件。

SELECT *

INTO new_table_name [IN externaldatabase]

FROM old_tablename

9)约束:constraints,可在创建时或之后

NOT NULL:不接受 NULL 值。

CREATE TABLE Persons

(

Id_P int NOT NULL,

UNIQUE:

UNIQUE (Id_P)

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

PRIMARY KEY (Id_P)

FOREIGN KEY:一个表中的 FOREIGN KEY 指向另一个表中的 PRIMARY KEY。

多列加外键:ALTER TABLE Orders

ADD CONSTRAINT fk_PerOrders

FOREIGN KEY (Id_P)

REFERENCES Persons(Id_P)

单列加外键

ALTER TABLE Orders

ADD FOREIGN KEY (Id_P)

REFERENCES Persons(Id_P)

CHECK:

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

CHECK (Id_P>0)

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

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

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

OrderDate date DEFAULT GETDATE()

10)删除表内数据TRUNCATE TABLE 命令(仅仅删除表格中的数据):

TRUNCATE TABLE 表名称

11)视图是基于 SQL 语句的结果集的可视化的表 ,创建视图等

12)GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。合计函数 (比如 SUM) 常常需要添加 GROUP BY 语句。可以合计多个列

SELECT Customer,OrderDate,SUM(OrderPrice) FROM Orders

GROUP BY Customer,OrderDate

13) SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用。

SELECT Customer,SUM(OrderPrice) FROM Orders

GROUP BY Customer

HAVING SUM(OrderPrice)<2000

3、细节:

单引号扩文本,数字不用引号

SQL 理代码的顺序:

( 8 ) SELECT  ( 9 ) DISTINCT   ( 11 )    

( 1 ) FROM   [ left_table ]

( 3 )    JOIN   

( 2 ) ON   

( 4 ) WHERE   

( 5 ) GROUP   BY   

( 6 ) WITH   

( 7 ) HAVING   

( 10 ) ORDER   BY   

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值