zoukankan      html  css  js  c++  java
  • mysql表数据的增删改查

    添加,更新与删除数据
    
    操作表记录(增删改查,create, read update,delete)
    1. INSERT
        INSERT INTO TABLE [(column [,column...])] VALUES (value [,value...]);
        1.1说明,因为id设置了计数器,并设置了自增长,插入数据时就不用填值。
            insert into employee (id,name,gender,birthday,entry_date,job,salary,resume) values (NULL,'张飞','m','1999-10-1','2021.9.30','程序员',20000,'技术全面,解决问题能力强');
        1.2 列的声明如果包含整张表的列名时,那么列的声明部分可以忽略不写. 但是插入数据的顺序必须和表中列的顺序保持一致
            insert into employee values (null,'关羽','m','1991-3-9','2020-4-30','网管',18000,'责任心强,工作积极');
            一条sql语句插入多条数据
            insert into employee values (null,'刘备','m','1993-5-9','2020-4-30','CEO',20000,'公司的领导者'),(null,'赵云','m','1995-6-2','2020-4-30','保安队长',15000,'责任心强,功夫好');
    2.  UPDATE
        UPDATE tb1_name SET col_name1=exprl [,col_name2=expr2 ...][WHERE where_definition]
        ~将所有员工的薪水改为5000元
        update employee set salary=5000;
        ~将张飞的薪水改为3000元
        update employee set salary=3000 where name='张飞';
        ~将关羽的薪水改为4000元,工作改为ccc
        update employee set salary=4000,job='ccc' where name='关羽';
        ~将'刘备'的薪水在原有的基础上增加1000元
        update employee set salary=salary+1000 where name='刘备';
        
    3.     DELETE(truncate)
        DELETE from tb1_name [where where_definition]
        ~删除表中名称为张飞的记录
        delete from employee where name='张飞';
        ~删除表中所有的记录
        delete from employee;
        使用truncate删除表中的记录(删除整张表,然后再新建一个同样的表)
        truncate employee;
        
    4.  SELECT(简单查询)
        查询的表达式同样也支持运算
        (1)SELECT [DISTINCT] *|{column1,column2,column3...} from table;
        
        练习:
    create table exam(
        id int primary key auto_increment,
        name varchar(20) not null,
        chinese double,
        math double,
        english double
    );
    
    insert into exam values (null,'关羽',85,76,70);
    insert into exam values (null,'张飞',70,75,70);
    insert into exam values (null,'赵云',90,65,95);
    
        ~查询表中所有学生的信息
          select * from exam;
        ~查询表中所有学生的姓名和对应的英语成绩
          select name,english from exam;
        ~过滤表中重复数据
          select english from exam;
          select distinct english from exam;
        ~在所有学生分数上加10分特长分显示
          查询出的数据显示成这样而已,实际的数据库数据没有变,要改的用update语句
          select name,math+10,english+10,chinese+10 from exam;
        ~统计每个学生的总分
          select name,math+english+chinese from exam;
        ~使用别名来表示学生的总分
          select name as newname,math+english+chinese as total_score from exam;
          as可以省略
          select name newname,math+english+chinese total_score from exam;
          常见错误, 列的名称之间要用逗号隔开
          select name english from exam;
        (2)带有where字句的过滤查询
         ~ 查询姓名为XXX的学生成绩
            select * from exam where name='张飞';
         ~ 查询英语成绩大于90分的同学
            select * from exam where english>90;
         ~ 查询总分大于200分的所有同学
            select * from exam where math+english+chinese>230;
         ~ 查询英语成绩在80-100之间的同学
            select * from exam where english between 80 and 100;
         ~ 查询数学成绩为75,76,77的同学
            select * from exam where math in (75,76,77);
         ~ 查询所有张姓同学的成绩
            %表示一个或者多个,_表示一个字符
            select * from exam where name like '张%';
            
            新增一个数据测试用来测试数据
            insert into exam values (null,'张某某',32,22,35);
            查询张姓一个名字的
            select * from exam where name like '张_';
            查询张姓两个名字的
            select * from exam where name like '张__';
         ~ 查询数学分>70,语文>80的同学
             select * from exam where math>80 and chinese>90;
            
            
    
    
    
        
        
        
        
  • 相关阅读:
    编译安装php
    CentOS yum 安装LAMP PHP5.4版本
    CentOS下php安装mcrypt扩展
    CentOS安装crontab及使用方法(转)
    解决svn "cannot set LC_CTYPE locale"的问题
    CentOS下通过yum安装svn及配置
    linux svn启动和关闭
    vagrant启动报错The following SSH command responded with a no
    并行进程问题
    利用集群因子优化
  • 原文地址:https://www.cnblogs.com/zhuhaofeng/p/15729788.html
Copyright © 2011-2022 走看看