美文网首页
2019-03-21 表格的删改、表格数据的增删改、事务、简单查

2019-03-21 表格的删改、表格数据的增删改、事务、简单查

作者: 北街九条狗 | 来源:发表于2019-03-21 18:28 被阅读0次

    表格的删改

     创建表 create table
    -- 删除表 drop table
    -- 修改表 alter table 
    --          ①修改列的长度(modify 修改)
    create table test1(
    id int(5) auto_increment,
    name varchar(200) default'张三',
    PRIMARY KEY(id)
    )
    
    ALTER TABLE test1 MODIFY id int(9);
    --          ②修改列的数据类型(前提:修改列全为null和默认值)
    ALTER TABLE test1 MODIFY id varchar (9);
    --      ③添加删除约束()
    ALTER TABLE test1 MODIFY name varchar(200) not null;
    create table test2(
    id int(5),
    name varchar(200)
    )
    
    ALTER table test2 add primary key(id);
    ALTER table test2 add unique (name);
    ALTER table test2 add foreign key ()
    
    --          ④列和表的重命名(改表名rename,改列名change)
    --          ⑤添加或删除列(删除 drop)
    
    ALTER table test2 add age int(3) default 0 not null;
    
    ALTER table test2 add (
    age1 int(3) default 0 not null,
    age2 int(3) default 0 not null
    )
    ALTER table test2 drop age;
    ALTER table test2 drop  column age1,drop  column age2;
    

    表格数据的增删改

    -- DQL 数据查询语言--->查
    -- DML 数据操作语言--->增删改
    -- DDL 数据定义语言--->create alter drop 
    
    -- 插入 insert into 表名(列名列表)values(值列表)
    -- 修改 update 表名 set 哪些列[where 修改哪些列]
    -- 将student1 表中的所有人age 改为30
    update student1 set age =30;
    
    -- 将student1 表中的身高1.9以上的人age 改为30
    
    update student1 set age =20
    where height >1.9;
    
    -- 将student1 表中的名字是华安的人age 改为35
    update student1 set age =25
    where stuname='华安';
    
    -- 将student1 表中的出生在2000年后人age +1
    update student1 set age =age+1
    where birthday>'2000-1-1';
    
    -- 将student1 表中id>9527的性别改为女 年龄+2
    update student1 set age =age+2,gender='女'
    where id>9527;
    
    
    -- 删除
    -- delete from 表名[where 哪些行]
    
    delete from student2 where age>10;
    
    -- and or 
    --
    update student1 
    set age=age+10
    where stuname ='华安' or age<37;
    

    事务

    -- 事务:一组增删改(经过提交或回滚)
    -- 事务有四大特性
    -- A:原子性:组成事物的增删改要么全成功,要么全失败
    -- C:一致性:一旦事务结束(提交或回滚过),数据保持一致性
    -- I:隔离性:事务之间互不影响
    -- D:持久性:事物一旦提交,不能回滚
    
    
    -- navicat 默认是将所有增删改一次一提交
    set autocommit =false-- 取消自动提交
    commit-- 提交
    rollback -- 回滚相当于撤销
    
    -- DML 增删改
    -- DDL 自动以commit的方式结束事务
    
    
    
    -- truncate 截断表(清空表)因为是DDL,不能回滚数据
     truncate table test2
    delete from test2
    
    
    -- 锁
    -- 存档点(savepoint s1)和回档点(rollback to s1)
    

    简单查询

    -- 简单查询
    -- 1.查什么;2.从哪查
    -- 可以查列,表达式
    select 
    from 
    
    -- 查询emp和dept表中的所有数据
    select deptno,loc,dname
    from dept 
    
    select * -- 代表所有列
    -- null值参与运算结果一定为null
    -- IFNULL(expr1,expr2) 若第一个参数不为null,返回第一个,否则返回第二个
    select ename, sal,sal*1.2
    from emp
    
    -- 表达式和函数一定要起列别名
    -- 列别名 表达式后+空格+(名字)
    --          或 表达式后+as+(名字)
    -- 注意:特殊情况下要加双引号
    --           ①别名中有空格
    --           ②特殊字符
    
    
    -- distinct 去重(复)
    -- 不显示重复数据,不是删除
    select distinct depton
    from emp
    

    相关文章

      网友评论

          本文标题:2019-03-21 表格的删改、表格数据的增删改、事务、简单查

          本文链接:https://www.haomeiwen.com/subject/enwcvqtx.html