mysql表数据的增删改⼼得_sql增删改总结
操纵数据(DML)
数据操纵语⾔:当添加、更新或者删除数据库中的数据时需要使⽤ DML 语句。DML 依据的⼀个集合构成了⼀个被称为事务的逻辑单元。
------------------------------------------------------------------
添加⼀个新⾏到表中:
insert into+表(列名1,列名2,,列名n) values(值1,值2,,值n);
完全列添加
insert into+表 +values (表对应的列1,表对应的列2,,表对应的列n);列名可以省略不写,需要插⼊且顺序⼀致) 。
插⼊带空值的⾏
insert into departments (department_id, department_name, manager_id, location_id) values (310,'A',nu
ll,null);
隐式⽅法: 省略字段列表中的列。省略不需要插⼊值的列和需要插⼊的值
insert into departments (department_id, department_name) values (310,'A');
插⼊⽇期值:插⼊现在时间 sysdate
⽐如这个时间2005-5-5--> 05-5⽉-06 或者 to_date('2005-5-5','yyyy-mm-dd')
从另⼀个表中复制⾏⽤⼀个查询写 INSERT 语句
不⽤ VALUES ⼦句
在查询中列的数⽬要匹配 INSERT ⼦句中列的数⽬
指定列添加: insert into +表名(需插⼊的列1,列2,,列n) +查询到的别的表中的列
excel2021版evaluateinsert into emp (id,name, salary, commission) select employee_id, last_name, salary, commission_pct from employees where job_id like'%REP%';
完全列添加:insert into +表名 +查询到的别的表中的列
insert into emp select employee_id,last_name,salary,commission_pct from employees where job_id like'%REP%';
--------------------------------------------
改变表中的数据
update语句
修改列的值: update +表名+set +列的值1=更改值1,列的值2=更改值2 where +筛选条件
修改emp表中id=170的name和salary的值
update emp e set e.name='KCY',e.salary=19999 where e.id =170;
更新 emp 表中的雇员 156 的薪⽔,使其和雇员 170 相同。
update emp e set e.salary= (select salary from emp where id=156) where id=170;
从表中删除⾏---- delete语句
delete from +表 +where+筛选条件
删除 emp 表中 id 为 302 的雇员。
delete from emp where id = 302;
删除emp表中和employees这个表中name为‘IT_PROG’薪⽔相同的⾏
delete from emp where salary= (select SALARY from employees e where e.name='IT_PROG');
删除表中的全部数据
delete emp;
--------------------------------------
事务处理语⾔(TCL)
指作为单个逻辑⼯作单元执⾏的⼀系列操作,要么完全地执⾏,要么完全地不执⾏。
事务特性原⼦性(ATOMICITY):事务中的操作要么都不做,要么就全做。
⼀致性(CONSISTENCY):⼀个事务应该保护所有定义在数据上的不变的属性(例如完整性约束)。在完成了⼀个成功的事务时,数据应处于⼀致的状态。
隔离性(ISOLATION):⼀个事务的执⾏不能被其他事务⼲扰。
持久性(DURABILITY):⼀个事务⼀旦提交,它对数据库中数据的改变就应该是永久性的。
1.显式事务:需要我们⼿动的提交或回滚。
事务提交Commit:
odbc excel 驱动程序当我们执⾏了⼀个 DML 语⾔后,此时的数据并不会持久化到数据⽂件中。需要使⽤commit 来确认提交。
事务回滚:Rollback
当我们执⾏了⼀个 DML 语⾔后,也可以使⽤ rollback 来撤销当前对表的操作。
利用scanf输入字符串DML 语⾔中的所有操作都是显⽰事务操作。commit ... 事务提交
< 事务回滚
< 设置回滚点
savepoint A;... rollback to A; 回滚到点A
设置回滚点:
< 设置回滚点: savepoint A;---> rollback to A; 回滚到点A
2.隐式事务
数据库⾃动提交不需要我们做任何处理,同时也不具备回滚性。
DDL、DCL 语⾔都是隐式事务操作
使⽤事务commit ... 事务提交
< 事务回滚
< 设置回滚点: savepoint A;---> rollback to A; 回滚到点A
-----------------------------------------------------------
创建表(CREATE TABLE)
create table +表名(列名1 数据类型,列名2 数据类型);
创建⼀个表AA,vaechar2类型的name,number类型的age
create table AA(name varchar2(10),eag number(3));
Oracle 数据库中的表查看本⽤户说拥有的表的名称 select table_name from user_tables;
查看本⽤户所拥有的不同的对象类型 select distinct object_type from user_objects;
查看本⽤户所拥有的表,视图,同义词和序列 select * from user_catalog;
mysql面试题 增删改查
⽤查询创建表
创建⼀个BB表,以employees表中department_id=80的last_name,employee_id,salary作为列
create table BB as select e.last_ployee_id,e.salary from employees e where e.department_id=80; ----------------------------------
修改表(alter table )
ALTER TABLE 语句可以修改表的信息。
添加⼀个新列:alter table AA add(salary number(5,2));
修改⼀个已存在的列:alter table AA modify (列名a 数据类型a);
修改数据类型 alter table AA modify(列名a 数据类型b);
修改默认值 alter table AA modify(列名a 数据类型a default 默认值1);
取消默认值 alter table AA modify(列名a 数据类型a default null);
修改列名 alter tableAArename column 列名ato 列名b
删除⼀个列 alter tableAAdrop column列名;
删除AA表中salary这个列
alter table AA drop column salary;
截断表(TRUNCATE TABLE)
特点:删除表中的所有的数据,但是保留表结构。在截断表时不能给定条件截断表时隐式事务。
⽰例:truncate table AA;
truncate table AA;
删除表(DROP TABLE):drop table AA;
--------------------------------------
定义约束
特效相机拍照数据库中的约束类型– ⾮空约束(NOT NULL)
– 唯⼀性约束(UNIQUE)
– 主键约束(PRIMARY KEY)
– 外键约束(FOREIGN KEY)
– ⽤户⾃定义约束(CHECK)
创建表时定义 NOT NULL 约束 (⾮空)
create table AA(id number,name varchar2(20) not null,salary number constraint AA_id not null);
html写表单
修改表定义 NOT NULL 约束 (⾮空)
alter table AA modify AA_id notnull;
定义 UNIQUE 约束 (唯⼀性约束)
创建表时定义 UNIQUE 约束
create table AA(id number constraint AA_uk unique,name varchar2(20));
修改表定义 UNIQUE 约束 (唯⼀性约束)
alter table AA modify(id unique);
定义 PRIMARY KEY 约束 (主键约束)
创建表时定义 PRIMARY KEY 约束
create table AA(id number constraint AA_pk primary key);
修改表定义 PRIMARY KEY 约束 (主键约束)
alter table AA modify(id constraint constraint_pk primary key);
创建联合主键 (联合主键)
create table AA(id number,name varchar2(20),constraint AA_pk primary key(id,name));
定义 FOREIGN KEY 约束 (外键约束)不能使⽤modify,只能⽤add
创建表时定义 FOREIGN KEY
create table AA(id number,d_idnumber,constraint AA_fk foreign key(d_id)references BB(id));修改表定义 FOREIGN KEY (外键约束)不能使⽤modify,只能⽤add
alter table AA add constraint AA_fk foreign key(d_ id) references BB(id);
定义 CHECK 约束(⾃定义约束) 不能使⽤modify,只能⽤add
创建表时定义 CHECK 约束 (⾃定义约束)
create table AA(id number,salary number(8,2) constraint AA_ck check(salary > 1000));
修改表定义 CHECK 约束 (⾃定义约束) 不能使⽤modify,只能⽤add
alter table AA add constraint AA_ck check(salary > 1000);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。