使用DML语句更改数据
2016-01-07 23:58
363 查看
一.添加新数据
1.插入单行记录
INSERT INTO <表名> (<列名列表>)VALUES(<值列表>);
列如:INSERT INTO t_stu (t_name,t_grade)VALUES('你','22');
如果表中的列值是由RDBMS自动创建的,指定了默认值或允许为空值等情况,那么再插入数据时可以不指定这些值
2.插入多行记录
INSERT INTO t_stu (t_id,t_name,t_age,t_sex) VALUES(4,'cl',18,'女',1321),(5,'hy',18,'女',);
3.表数据的复制
SELECT <列名> INTO <新表名> FROM <表名>
SELECT*INTO student2 FROM student
二.更改已有数据
1.更新单列数据
UPDATE <表名>SET <新列值列表> WHERE <过滤条件>; 如果不指定
WHERE 则更新表中所有数据
UPDATE <表名>SET <列1=新值1,列2=新值2> WHERE <过滤条件>;
UPDATE T_stul SET s_phone=123 WHERE s_name='hy';
2.更新多列数据
UPDATE T_stul SET s_phone=123 ,s_sex=女 WHERE s_name='hy';
3.通过更新删除列中的数据
UPDATE SET address=NULL WHERE t_id=1
三.删除数据
1.用DELETE删除行
DELETE FROM <表名> WHERE <过滤条件>;
DELETE FROM t_stul WHERE s_id=1;
删除多行 DELETE FROM t_stul WHERE s_id=2 OR/AND s_id=3;
2.使用TRUNCATE语句
TRUNCATE TABLE <表名>;
DELETE 删除行
TRUNCATE只删数据不删表的结构 ,删除后无痕迹。
DROP 是将整个表的结构都删掉
使用TRUNCATE TABLE 比使用DELETE FROM效率高 它不会记录删除的详细日志
TRUNCATE TABLE不能用于有外键约束的表
修改约束条件
给t_student加主键A LTER TABLE t_student ADD PRIMARY KEY(s_id);
增加外键 ALTER TABLE t_student ADD CONSTRAINT foreKey FOREIGN KEY(s_t_id) REFERENCES t_tea(t_id);
删除外键 ALTER TABLE t_student DROP FOREIGN KEY foreKey;
加唯一约束 ALTER TABLE t_student MODIFY s_phone NOT NULL UNIQUE; 先用空值覆盖 再加约束
修改默认 ALTER TABLE t_student MODIFY s_age DEFAULT 18;
修改自增 ALTER TABLE t_student AUTO_INCREMENT =100; 定义从100开始自增
MODIFY 与CHANGE用处相同 MODIFY 不用指定 更广发
1.插入单行记录
INSERT INTO <表名> (<列名列表>)VALUES(<值列表>);
列如:INSERT INTO t_stu (t_name,t_grade)VALUES('你','22');
如果表中的列值是由RDBMS自动创建的,指定了默认值或允许为空值等情况,那么再插入数据时可以不指定这些值
2.插入多行记录
INSERT INTO t_stu (t_id,t_name,t_age,t_sex) VALUES(4,'cl',18,'女',1321),(5,'hy',18,'女',);
3.表数据的复制
SELECT <列名> INTO <新表名> FROM <表名>
SELECT*INTO student2 FROM student
二.更改已有数据
1.更新单列数据
UPDATE <表名>SET <新列值列表> WHERE <过滤条件>; 如果不指定
WHERE 则更新表中所有数据
UPDATE <表名>SET <列1=新值1,列2=新值2> WHERE <过滤条件>;
UPDATE T_stul SET s_phone=123 WHERE s_name='hy';
2.更新多列数据
UPDATE T_stul SET s_phone=123 ,s_sex=女 WHERE s_name='hy';
3.通过更新删除列中的数据
UPDATE SET address=NULL WHERE t_id=1
三.删除数据
1.用DELETE删除行
DELETE FROM <表名> WHERE <过滤条件>;
DELETE FROM t_stul WHERE s_id=1;
删除多行 DELETE FROM t_stul WHERE s_id=2 OR/AND s_id=3;
2.使用TRUNCATE语句
TRUNCATE TABLE <表名>;
DELETE 删除行
TRUNCATE只删数据不删表的结构 ,删除后无痕迹。
DROP 是将整个表的结构都删掉
使用TRUNCATE TABLE 比使用DELETE FROM效率高 它不会记录删除的详细日志
TRUNCATE TABLE不能用于有外键约束的表
修改约束条件
给t_student加主键A LTER TABLE t_student ADD PRIMARY KEY(s_id);
增加外键 ALTER TABLE t_student ADD CONSTRAINT foreKey FOREIGN KEY(s_t_id) REFERENCES t_tea(t_id);
删除外键 ALTER TABLE t_student DROP FOREIGN KEY foreKey;
加唯一约束 ALTER TABLE t_student MODIFY s_phone NOT NULL UNIQUE; 先用空值覆盖 再加约束
修改默认 ALTER TABLE t_student MODIFY s_age DEFAULT 18;
修改自增 ALTER TABLE t_student AUTO_INCREMENT =100; 定义从100开始自增
MODIFY 与CHANGE用处相同 MODIFY 不用指定 更广发
相关文章推荐
- 阿里云服务器部署网站
- SI Object Browser10和naticat premium11连接oracle数据库
- MongoDB数据逻辑结构
- OC 字符串操作整理
- mysql从零开始(三)数据类型
- Android必知必会--GreenDao缓存
- 跟我学习dubbo-ZooKeeper注册中心安装(2)
- android之旅25 内容提供者与内容观察者
- Android必知必会--GreenDao缓存
- 【技术贴】VirtualBox给VDI格式的虚拟机扩容
- mysql忘记root密码连接本地库
- Leetcode: Maximum Product of Word Lengths
- 跟我学习dubbo-简介
- 句法分析树标注集
- 零基础免费搭建个人博客-hexo+github
- 各种利益导致关注
- ERP原理学习3-5
- 028_CoreAPI_对象三种状态
- 使用Session防止表单重复提交
- 图像处理中像素点的问题:unsigned char 和 char