MySQL学习笔记_5_SQL语言的设计与编写(上)
来源:互联网 发布:php ajax例子 编辑:程序博客网 时间:2024/06/04 18:53
SQL语言的设计与编写(上)
一、SQL语句分类
数据定义语言(DDL):
用于定义和管理数据对象,包括数据库、数据表、视图、索引等。例如:CREATE、DROP、ALTER等语句。
数据操作语言(DML):【和表中的数据记录有关的语言】
用于操作数据库对象中所包含的数据。例如:INSERT、UPDATE、DELETE语句。
数据查询语言(DQL):
用于查询数据库对象中所包含的数据,能够进行单表查询、连接查询、嵌套查询,以及集合查询等各种复杂程度不同的数据库查询,并将数据返回到客户机中显示。例如:SELECT语句(占60%)。
数据控制语言(DCL):
是用来管理数据库的语言,包含管理权限及数据更改。例如:GRANT、REVOKE、COMMIT、ROLLBACK等语句。
二、SQL语句应用案例
1、DDL【可以按照以下格式写入一个文件,然后再粘贴到MySQL数据库中】
createtable if not exists cats (
idint not null auto_increment,
pidint not null default '0',
namevarchar(30) not null default '',
desntext not null default '',
primarykey(id),
indexname(name,pid)
);
createtable if not exists products(
idint not null auto_increment,
cidint not null default 0,
namevarchar(60) not null default '',
pricedouble (7,2) not null default 0.00,
numint not null default 0,
desntext,
ptimeint not null default 0,
primarykey(id),
keypname(name,price)
);
2、DML
a)insert,插入表数据
insertinto表名([字段列表])values(值列表),(值列表2),(值列表3),...,(值列表n);
特点:
1.如果在表名后没有给出字段列表,则值列表必须填充所有字段的值,必须按表中默认的顺序插入
2.所有需要写字段名的地方都不加单引号或双引号,但是建议所有值都要以字符形式使用
3.建议在插入数据时,最好给出字段列表,则值只要和字段列表一一对应即可,可以不按表中字段的顺序
b)update表名set字段='值'[,字段2='值2',...,字段n='值n'][条件]#条件指定需要更改的记录
e.g. updatecats set pid='3' where id='1';
updatecats set pid='99' where id >= '1' && id <= '3';
c)deletefrom表名 [条件]
deletefrom cats; #清空数据表
truncatecats; #也可以清空数据表,效率更高,truncate将...截断
d)where条件
无论更新、删除、查找,只要写对条件就能准确找到要管理的一条或多条数据
【都可以使用各种运算符号,可以把字段当作一个变量来使用】
3、DQL【select】
SELECT[ALL | DISTINCT]
{*|table.*|[table.]field1[asalias1][,[table.]field2[as alias2]][.....]}
FROM表名
[WHERE...]
[GROUPBY...]
[HAVING...]
[ORDERBY ...]
[LIMITcount]
使用SELECT查询语言,目的是可以按用户的想法将数据查出来,将结果返回!
- MySQL学习笔记_5_SQL语言的设计与编写(上)
- MySQL学习笔记_5_SQL语言的设计与编写(上)
- MySQL学习笔记_6_SQL语言的设计与编写(下)
- MySQL学习笔记_6_SQL语言的设计与编写(下)
- Mysql研究之SQL语言的设计与编写完全解析
- C++语言的设计与演化——学习笔记
- C++ 学习笔记(一):类的声明与编写
- Linux上c语言编写MySQL程序
- NVIDIA cg语言编写shader的学习笔记
- 搞定linux上MySQL编程(六):C语言编写MySQL程序(结)
- 搞定linux上MySQL编程(六):C语言编写MySQL程序(结)
- 搞定linux上MySQL编程(六):C语言编写MySQL程序(结)
- C语言学习笔记(三)--运算符与表达式(上)
- Lua1.0-应用程序扩展语言的设计与实现(上)
- Go语言学习笔记----与C语言的比较学习
- 基础的mysql语言(上)
- linux学习笔记-定时器的设计与实现(shell)
- [编写高质量iOS代码的52个有效方法](四)接口与API设计(上)
- 如何减少exe,dll大小
- JS 动态创建上传表单,通过iframe模拟Ajax 无刷新
- byr论坛灌水小工具
- 终端中文乱码解决
- RMAN 备份与恢复 实例
- MySQL学习笔记_5_SQL语言的设计与编写(上)
- 在DCOM中不存在WORD、EXCEL等OFFICE组件
- 程序员的《权利法案》
- iOS开发Objective-C基础之──多态
- 【理论】支持向量机6:Duality —— 关于 dual 问题推导的一些补充理论
- android 导入头部标签
- 位运算n & (n-1)的妙用
- 由于特殊字符引起的字符串不相等
- HTTP POST GET详解