• 六 .数据库(表的记录操作)


    一 .MySQL记录操作

    1 .数据插入(insert into)

    1. 插入完整数据(顺序插入)
        语法一:
        INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);
    
        语法二:
        INSERT INTO 表名 VALUES (值1,值2,值3…值n);
    
    2. 指定字段插入数据
        语法:
        INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);
    
    3. 插入多条记录
        语法:
        INSERT INTO 表名 VALUES
            (值1,值2,值3…值n),
            (值1,值2,值3…值n),
            (值1,值2,值3…值n);
            
    4. 插入查询结果
        语法:
        INSERT INTO 表名(字段1,字段2,字段3…字段n) 
                        SELECT (字段1,字段2,字段3…字段n) FROM 表2
                        WHERE …;

     2. 更新数据(update)

    语法:
        UPDATE 表名 SET
            字段1=值1,
            字段2=值2,
            WHERE CONDITION;
    
    示例:
        UPDATE mysql.user SET password=password('123') 
            where user='root' and host='localhost';

       update runoob_tbl set runoob_title='学习 C++' where runoob_id=3;
      从结果上看,runoob_id 为 3 的 runoob_title 已被修改。

    方式一:
    update student set name = '猪猪哥' ;
    ps: student表中所有的 name 字段 的值 全部被更新为 '猪猪哥'

    方式二:
    update student set name= '猪猪哥' ,age =13 where id = 2;
    更新 student 表中 name 和 age 字段的值,并且只更新 id = 2的一条记录

     3. 删除数据(delete from)

    语法:
        DELETE FROM 表名 
            WHERE CONITION;
    
    示例:
        DELETE FROM mysql.user 
            WHERE password='';


    delete from runoob_tbl where runoob_id=3;
    将删除 runoob_tbl 表中 runoob_id 为 3 的记录:

    truncate和delete的区别?[面试题]
    
    1、TRUNCATE 在各种表上无论是大的还是小的都非常快。而DELETE 操作会被表中数据量的大小影响其执行效率.
    2、TRUNCATE是一个DDL语言而DELETE是DML语句,向其他所有的DDL语言一样,他将被隐式提交,不能对TRUNCATE使用ROLLBACK命令。
    3、TRUNCATE不能触发触发器,DELETE会触发触发器。
    4、当表被清空后表和表的索引和自增主键将重新设置成初始大小,而delete则不能。
    创建数据表 :  
                   create table  表名();
                   create table  表名(id int,username varchar(20),age int);
                   create table student(id int,username varchar(20),age int);
                   create table huiyuan(id int,username varchar(20),age int);
                   create table hh(id int,username varchar(20),age int);
    
    
    记录的操作:
                 新增记录 :
                  insert into 表名(字段列表) values(值的列表)    注意:值必须与字段列表一一对应;
                  insert into student(username) values('张三');
                  insert into student(username,age) values(张三,25);
                  insert into student(id,username,age) values(3,张三,25);
                  
                  insert into student vales(4,老五,24);值的个数与数据表中字段的个数完全一致时 可以忽略不写.....
    
    
    查看表:
         show tables  查看所有数据表
         
         show create table (数据库表名)student;            查看数据表的建表语句 
         
         desc  (数据库表名)student;                        查看表结构
         desc  users;   
    
    
    删除表:
            drop table (数据库表名)student;
            
    修改表:
            alter table (数据库表名)student;    可以修改默认引擎  和字符集  
            alter table (数据库表名)student engine=innodb;    可以修改默认引擎  和字符集  
            alter table student charset=utf8;    可以修改默认引擎  和字符集 
            rename table  (数据库表名)student to (数据库表名1)student2;  修改数据表名
            
            
            
    对字段操作:
    
            创建字段在创建数据表时进行   ,在已经拥有了表名之后 还可以对字段进行操作
            create table 表名(字段名 字段类型 字段属性,字段名2 字段类型 字段属性,.......);     
            create table  表名(id int,username varchar(20),age int);
            create table classes(id int,clsaaname varchar(10),classroom varchar(3));
            create table hello(id int,clsaaname varchar(10),classroom varchar(3));
            
    增加新字段:    
            alter table (数据库表名)student add column(行) gender(性别)  varchar(4); 意思在student数据表中新增 gender字段  
            alter table info add column namee varchar(2); 
            alter table id_name add age int,add address varchar(11);



    修改字段类型和属性 modify 修改

    alter table student(数据表名) modify column gender(性别) varchar(
    10);修改gender字段定义 alter table student modify column gender varchar(10);

    修改字段名字
    alter table student change column gender sex varchar(
    2);



    删除字段 alter table student drop column gender;


             alter table id_name drop column age,drop column address;


     set names gbk;  设置 编码
  • 相关阅读:
    51nod1693 水群
    51nod 1158 全是1的最大子矩阵
    poj1192 最优连通子集(树形dp)
    51nod 1051 最大子矩阵和(dp)
    codeforces723 D. Lakes in Berland(并查集)
    51nod 1065 最小正子段和
    poj1122 FDNY to the Rescue!(dij+反向建图+输出路径)
    51nod 1050 循环数组最大子段和
    hdu4781 Assignment For Princess(构造)
    51nod 1043 幸运号码(数位dp)
  • 原文地址:https://www.cnblogs.com/Sup-to/p/11235324.html
Copyright © 2020-2023  润新知