SQL于DML(数据库操作语言)采用

1.Insert语句:

INSERT [INTO] table [(column1, column2, column3, . . .)] VALUES(value1, value2, value3, . . .);

例:INSERT INTO user VALUES(NULL, ‘test‘, ‘123456‘);

例:INSERT INTO user (username, password) VALUES(‘test‘, ‘123456‘);

实际上另一种方式:

例:INSERT INTO user SET username=‘test‘, password=‘123456‘;

2.查询语句:

SELECT [option] item [INTO file_details] FROM tables [WHERE condition] [GROUP BY group_type] [HAVING where_definition]

[ORDER BY order_type] [LIMIT limit_criteria] [PROCEDURE proc_name(arguments)] [lock_option];

①简单查询

例:SELECT * FROM user WHERE uid=4;

②多表查询

主要的多表查询

例:SELECT user.username, userinfo.age, userinfo.sex, userinfo.phone FROM user, userinfo WHERE user.uid=userinfo.uid;

左关联

SELECT user.uid, uid.name, orders.orderid FROM user LEFT JOIN orders ON user.uid=orders.uid;

在没有使用做关联的情况下仅仅会返回满足条件的记录,假设使用左关联左表将所有返回即使右表并不匹配,所查的右边的值将用NULL取代

(换句话说:左关联将返回全部满足条件的记录。还会将左表没有返回的记录也返回,所需的右表数据如orders.orderid用NULL填充)

③使用子查询

主要的子查询

例:SELECT uid, amount FROM orders WHERE amount=(SELECT max(amount) FROM orders);

关联子查询

例:SELECT isbn, title FROM books WHERE exists (SELECT * FROM orders WHERE orders.isbn=books.isbn);
//内部查询引用外部查询数据

行子查询

例:SELECT c1, c2, c3 FROM t1 WHERE (c1, c2, c3) IN (SELECT c1, c2, c3 FROM t2);

使用子查询作为暂时表

例:SELECT * FROM (SELECT uid, username FROM user WHERE city=‘Beijing‘) AS user_beijing;

④合计函数与分组

合计函数:

avg()

count()

min()

max()

std()

stddev()

sum()

. . .

分组通常结合合计函数使用。对结果集进行分组

例:SELECT uid, avg(amount) FROM orders GROUP BY uid;

HAVING类似于WHERE,仅仅用于合计与分组,SQL中添加HAVING的原因是。WHERE中无法使用合计函数

例:SELECT uid, avg(amount) FROM orders GROUP BY uid HAVING avg(amount)>100;

⑤排序与限制的使用

例:SELECT username, password FROM user ORDER BY username ASC;    //查询user表并按username字段升序排序

例:SELECT username, password FROM user ORDER BY uid DESC;    //查询user表并按uid字段降序排序

例:SELECT username, password FROM user LIMIT 4;    //查询user表前四条记录

例:SELECT username, password FROM user LIMIT 3, 4;    //查询user表从第三条開始之后4条记录

3.更新语句:

UPDATE [LOW_PRIORITY] [IGNORE] table SET column=expression1, column2=expression2, . . .

[WHERE condition] [ORDER BY order_criteria] [LIMIT number];

例:UPDATE user SET password=‘111111‘;    //将user表中全部人密码设成111111

例:UPDATE user SET password=‘111111‘ WHERE uid=4;    //将user表中uid等于4的记录的密码设成111111

例:UPDATE user SET password=‘111111‘    ORDER BY uid DESC LIMIT 5;    //将user表中按uid倒序的前5条记录的密码设成111111

这里的ORDER BY通常与LIMIT结合使用,单独使用ORDER BY没有意义

4.删除语言:

DELETE [LOW_PRIORITY] [QUICK] [IGNORE] FROM table [WHERE condition] [ORDER BY order_cols] [LIMIT number];

例:DELETE FROM user;    //删除user全部数据

例:DELETE FROM user WHERE uid=4;    //删除uid=4的记录

例:DELETE FROM user ORDER BY uid DESC LIMIT 5;    //删除user表中按uid倒序的前5条数据

提示:[]表示可选

在字段名上加上反引號``能够避免字段名与数据库keyword冲突

弦值需要使用引号‘‘行情,号码值不需要

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-08-04 06:26:30

SQL于DML(数据库操作语言)采用的相关文章

SQL中DML(数据库操作语言)的使用

1.插入语句: INSERT [INTO] table [(column1, column2, column3, . . .)] VALUES(value1, value2, value3, . . .); 例:INSERT INTO user VALUES(NULL, 'test', '123456'); 例:INSERT INTO user (username, password) VALUES('test', '123456'); 实际上还有一种方式: 例:INSERT INTO user

数据存储——SQLite数据库存储——SQL语句——DML数据操作语言、内置函数聚合函数

一.连接查询之内连接 select   a.字段,b.字段   from   表1   a,表2   b    where   a.字段=b.字段  And ... 二.DML 数据操作语言 1.增  insert  into values 1-insert  into 表名  values (跟所有字段一一对应的值的列表) 2-insert  into 表名(字段列表)  values (跟字段列表一一对应的值的列表) 3-insert  into 表名  select  对应的字段列表  f

SQL入门-DML数据操作语言

DML数据操作语言 1.针对数据行的操作 加大 -U 使用严格模式,限制update 和where语句 mysql -uroot -p -U 严格模式下删除数据需要使用索引,作为条件才能删除 mysql> delete from anyux.test; ERROR 1175 (HY000): You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column--

DML数据库操作语言

DML语言 数据操作语言: 插入:insert 修改:update 删除:delete #一.插入语句 #方式一:经典的插入 /* 语法: insert into 表名(列名,...) values(值1,...); */ SELECT * FROM beauty; #1.插入的值的类型要与列的类型一致或兼容 INSERT INTO beauty(id,NAME,sex,borndate,phone,photo,boyfriend_id) VALUES(13,'唐艺昕','女','1990-4-

数据库操作语言

一.基本知识 1.Oracle服务器由两大部分组成:Oracle数据库和Oracle实例  Oracle数据库:位于硬盘上实际存放数据的文件,以.DBF结束的文件  Oracle实例:位于物理内存里的数据结构 2.数据库中的语言:   DML:数据库操作语言(select.insert.update.delete)      DDL:数据库定义语言(create table.alter table.drop table.create view)     DCL:数据库控制语言(commit.ro

数据存储——SQLite语句之DML 数据操作语言和内置函数之聚合函数

一.连接查询之内连接 select   a.字段,b.字段   from   表1   a,表2   b    where   a.字段=b.字段  And ... 二.DML 数据操作语言 1.增  insert  into values 1-insert  into 表名  values (跟所有字段一一对应的值的列表) 2-insert  into 表名(字段列表)  values (跟字段列表一一对应的值的列表) 3-insert  into 表名  select  对应的字段列表  f

6.1课堂笔记—DML(数据操作语言),DQL查询语句

一.DML(数据操作语言) InnoDB MyISAM 支持事务 不支持事务 不支持全文索引 支持全文索引 支持外键约束 不支持 命令查看默认存储引擎 show variables like '%storage_engine%'; 1.表中插入数据 #添加课程 INSERT INTO `subject` VALUES (5,'C#',160,1); #插入多门课程 INSERT INTO `subject`(subjectName,classHour,gradeID) VALUES ('数学',

DML数据操作语言

DML: 数据操作语言INSERT, DELETE, UPDATE, SELECT 常用的语句,增.删.改.查: INSERT: 一次插入一行或多行数据: Syntax: INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] [INTO] tbl_name [(col_name,...)] {VALUES | VALUE} ({expr | DEFAULT},...),(...),... [ ON DUPLICATE KEY UPDAT

利用SQL Profiler 追踪数据库操作

原文:利用SQL Profiler 追踪数据库操作 SQL Server 事件探查器 是一个界面,用于创建和管理跟踪并分析和重播跟踪结果. 这些事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件进行分析或用它来重播一系列特定的步骤. SQL Server 事件探查器# Microsoft SQL Server 事件探查器 是 SQL 跟踪的图形用户界面,用于监视 数据库引擎 或 Analysis Services 的实例. 您可以捕获有关每个事件的数据并将其保存到文件或表中供以后分析.