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查询语言,目的是可以按用户的想法将数据查出来,将结果返回!

最新文章

  1. 用SQL语句将数据表中的数据保存为JSON格式
  2. 在Ubuntu环境把PPT和Word转换为swf文件
  3. Android framework完整源码下载
  4. WinForm多线程编程简单Demo
  5. 委托 在其他类中修改form中的控件属性
  6. JavaScript 键盘event.keyCode值列表大全
  7. 编译安装HTTPD 2.4.9版本
  8. RedHat 6.5 离线安装 apache2.4.23
  9. [译文]c# /.Net 技巧: ToDictionary() and ToList()
  10. UVALive - 3882:And Then There Was One
  11. 用js实现动态规划解决背包问题
  12. Vue 旅游网首页开发2 - 首页编写
  13. 上下文管理协议with open as
  14. xamarin 编译出现Xamarin.Build.Forms.Tasks.GetTaskAbi 无法加载的错误解决方法
  15. css雪碧(CSS Sprite)和css3过渡效果综合应用
  16. EasyPHP-Devserver-17的坑位
  17. Java-Runoob-高级教程-实例-数组:05. Java 实例 – 数组输出
  18. Qt中的QString和QStringList常用方法
  19. 【DOS】COPY命令
  20. github pages 正确访问方式

热门文章

  1. js动态加载js css文件,可以配置文件后辍,防止浏览器缓存
  2. MySQL 数学函数
  3. Python3 条件控制
  4. Jmeter(一)_环境部署
  5. 【Android 应用开发】 Android 各种版本简介 ( Support 支持库版本 | Android Studio 版本 | Gradle 版本 | jcenter 库版本 )
  6. git 同步勾子
  7. 有无序的实数列V[N],要求求里面大小相邻的实数的差的最大值,关键是要求线性空间和线性时间。
  8. Python 3 re模块3个括号相关的语法
  9. 带你深入理解STL之迭代器和Traits技法
  10. app如何更换用户头像信息呢?不妨这样做