获取内容资料
数据库开发

sql数据库教程,慕课网数据库教程

SQL基础教程一、SQL简介

A:SQL指结构化查询语句    B:SQL使我们有能力访问数据库     C:SQL是一种ANSI(美国国家标准化组织)的标准计算机语言

*面向数据库执行查询   *从数据库中取出数据   *向数据库插入新的记录

*更新数据库中数据   *从数据库删除记录   *创建数据库   *创建表

*创建存储过程   *创建视图   *设置表、存储过程和视图的权限

RDBMS是指关系型数据库管理系统

RDBMS是SQL的基础,同样也是所有现代数据库系统的基础,如MS SQL Server、IBM DB2、Oracle、MySQL以及Microsoft Access

RDBMS中的数据存储在被称为表的数据库对象中

表是相关的数据项的集合,他由列和行组成。

注意:SQL对大小写不敏感!!!

1:SQL语句后面的分号

某些数据库系统要求在每条SQL命令的末端使用分号。

分号是在数据库系统中分隔每条SQL语句的标准方法,这样就可以在服务器的相同请求中执行一条以上的语句。

如果使用的是MS Access和SQL Server 2000,则不必在每条SQL语句之后使用分号,不过某些数据库要求必须使用分号。

2:SQL DML和DDL

可以把SQL分为两个部分:数据操作语言(DML)和数据库定义语言(DDL)

SQL(结构化查询语句)适用于执行查询的语法。但是SQL语言也包含用于更新、插入和删除记录的语法。查询和更新构成了SQL的DML部分:select、update、delete、insert into 。 数据库定义语言(DDL)部分使我们有能力创建或删除表格,我们也可以定义索引(键),规定表之间的连接,以及事假表间的约束:

Create database、alert database、create table、alert table、drop table、create index、drop index

User表里面的数据如下

查询user表里面的user_name字段和user_age字段的所有数据

Select user_name,user_age from user

查询user表中所有的字段数据,用 * 表示列的名称

Select * from user

Distinct选取所有的值的时候不会出现重复的数据

用普通的查询,查询所有

Select * from user

Select distinct user_name,user_age from user

注意:不能有user_id,因为两个Mary的user_id不一样,加上就不算相同数据

1:查询user_id等于1 的数据

Select * from user where user_id = 1

2:查询user_age大于等于12的数据

Select * from user where user_age >=12

3:查询user_age不等于12的数据

Select * from user where user_age <> 12

And和or在where子语句中把两个或多个条件结合起来。如果需要两个条件都成立就是用and如果只需要其中一个条件成立就使用or

Select * from user where user_name = ‘mary’ and user_age = 12

需要注意的是SQL使用单引号来环绕文本值,如果是数值则不需要引号

Select * from user where user_name=’mary’ or user_age =13

结合and和or使用圆括号来组成复杂的表达式

Select * from user where (user_name = ‘mary’ and user_age = 12) or(user_age =13)

1:对指定列进行升序排列

Select * from user order by user_name

2:按照user_id逆序排列

Select * from user order by user_id DESC

2:按照升序排列user_id逆序排列user_age

SELECT * FROM user order by user_id ASC,user_age DESC

3:按照升序排列user_id逆序排列user_age

SELECT * FROM user order by user_age DESC,user_id ASC

注意:前面的条件优先级更高!!

插入一行数据 user_id为2 user_name为tom,user_age为12

注意:如果每一项都有插入的话就不需要在前面列出列名!!

Insert into user values(2,’tom’,12)

新插入一行数据,只要求user_name为eva

Insert into user(user_name) values(‘eva’)

注意:因为ID设置为自增,所以user_id不为null

修改user_id为6的数据user_age为14

Update user set user_age=14 where user_id=6

修改user_id为1的数据user_name为ann,user_age为11

Update user set user_name=’ann’,user_age=11 where user_id=1

User表中的所有数据信息如下

删除user_age为12的数据

Delete from user where user_age=12

Delete from user

第二章 SQL高级教程

Top子句用于返回要返回的记录的数目,但并不是所有的数据库都支持top子句

1:SQL Server

Select top 5 * from user

Select * from user limit 5

Select * from user where ROWNUM <= 5

User表的初始数据如下

1:找出以li开头的数据

Select * from user where user_name like ‘li%’

2:找出以ry结尾的数据

Select * from user where user_name like ‘%ry’

Select * from user where user_name like ‘%a%’

4:找出第二个字母是a第四个字母是y的数据

Select * from user where user_name like ‘_a_y’

在搜索数据库中的数据的时候SQL通配符可以替代一个或多个字符。SQL通配符必须与like运算符一起使用

1: _ 替代一个字符

找出第二个字母是a第四个字母是y的数据

Select * from user where user_name like ‘_a_y’

2: % 替代一个或多个字符

Select * from user where user_name like ‘%ry’

3: 字符列中的任意一个单字符

找出以a或者l开头的数据

Select * from user where user_name like ‘[al]%’

找出不是a或者l开头的数据

Select * from user where user_name like ‘[!al]%’

只要数据满足in里面的一个条件就可以了

找到user_age是12或者13的数据

Select * from user where user_age in (12,13)

找到user_name是Harry和Mary的数据

Select * from user where user_name IN (‘mary’,’harry’)

查询年龄在12和14之间的数据

Select * from user where user_age between 12 and 14

查询字母在Alice和John之间的数据

Select * from user where user_name between ‘alice’ AND’john’

假设我们有两个表分别是user和Room 。我们分别指定他们为u和r。

Select room.room_name,user.user_name,user.user_age from user ,room  Where user.user_age=12 and room.room_id = 1

Similar Posts

发表评论

邮箱地址不会被公开。 必填项已用*标注