第三章用SQL语句操作数据

一、SQL简介

Structured Query Language:结构化查询语言

二、SQL和T-SQL

T-SQL:Transact-SQL
T-SQL是SQL的增强版
对功能进行了扩充:如变量说明、流程控制、功能函数

三、SQL组成

DML(数据操作语言)

插入、删除和修改数据库中的数据
INSERT、 UPDATE 、DELETE等

DCL(数据控制语言)

用来控制存取许可、存取权限等
GRANT、REVOKE 等

DQL(数据查询语言)

用来查询数据库中的数据
SELECT 等

DDL(数据定义语言)

用来建立数据库、数据库对象和定义表的列
CREATE TABLE 、DROP TABLE 等

四、SQL中的运算符

①算术运算符

一种符号,它是用来进行列间或者变量之间的比较和数学运算
包括算术运算符、赋值运算符、比较运算符、逻辑运算符
在这里插入图片描述

②赋值运算符

在这里插入图片描述

③逻辑运算符

在这里插入图片描述

④比较运算符

在这里插入图片描述

五、SQL语句

#切换表
USE myschool;
#插入
#语法:insert into 表名 (列1,列2,...) values (值1,值2,...);
INSERT INTO grade (gradeName) VALUES ('测试年级');
#插入的是表中部分数据,字段名列表必填
INSERT INTO grade (gradeName,gradeID) VALUES ('测试年级1',NULL);
#插入不写列名的时候,值列表和字段名列表一一对应
INSERT INTO grade VALUES (NULL,'测试年级2');
#SQLyog换行书写
INSERT INTO student
(studentNo,loginPwd,studentName,sex,gradeId,phone,address,bornDate,email,identityCard)
VALUES
('10010','123','李四','女','2','123','发阿萨大大','1996-1-1','asdf','258451485');
#将老表的数据插入新表
#事先创建且与插入数据字段相符
#insert into 新表 (新列1,新列2,...) select 老列1,老列2,... from 老表;
INSERT INTO demo01(`no`,`name`)
SELECT studentNo,studentName
FROM student;
#无须事先创建
#create table 新表 (select 老列1,老列2,... from 老表 );
CREATE TABLE demo02 (SELECT studentNo,studentName FROM student);
#修改
#update 表名 set 列1=值1,列2=值2,..[where 条件1 逻辑运算符 条件2 ...]
#修改单个数据
UPDATE demo01 SET `name`='王五' WHERE `no`='10010';
#修改多个数据
UPDATE student SET studentName='赵六',sex='女' WHERE studentNo='10012' AND gradeId='1';
#删除
#delete from 表名 [where <删除条件>]
DELETE FROM grade WHERE gradeId=7;
#truncate from 表名;
TRUNCATE FROM demo03;

六、SQL语句注意事项

1.插入语句注意事项:

①每次插入一行数据,不能只插入半行或者几列数据
插入的数据是否有效将按照整行的完整性的要求来检验
②每个数据值的数据类型、精度和小数位数必须与相应的列匹配
③如果在设计表的时候就指定了某列不允许为空,则必须插入数据
④具有缺省值的列,可以使用DEFAULT(缺省)关键字来代替插入的数值
⑤为避免表结构发生变化引发的错误,建议插入数据时写明具体字段名!

2.更新语句注意事项:

①更新多列数据使用逗号隔开
②勿忘条件限制,以防有效数据的丢失
③多条件联合使用and
④日期比较时间戳,<在时间前,>在时间后
⑤判断列是否为空is null 或 ‘’

3.delete删除语句注意事项

①子表中存在对应的数据
②存在主外键的列

4.truncate删除语句注意事项

①表结构、列、约束等不被改动
②不能用于有外键约束引用的表
③标识列重新开始编号
④删除的数据不能恢复

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值