zl程序教程

您现在的位置是:首页 >  数据库

当前栏目

数据库update语法-MySQL数据库 | SQL语句详解

2023-02-18 16:47:36 时间

  MySQL数据库基本操作——DDL

  DDL解释:

  1.数据库的常用操作

  2.表结构的常用操作

  3.修改表结构

  数据库的常用操作 查看所有的数据库show ;

  创建数据库

  create if not exists 表名;

  切换(选择要操作的)数据库

  use 表名;

  删除数据库

  drop if exists 数据库

  修改数据库编码

  alter 表名 set utf8;

  表结构的常用操作

   use mydb3;

    create table if not exists user01(
        id int,
        name varchar(20),
        address varchar(20)
    );

  修改表结构 表结构的常用操作 查看当前数据库所有的表show tables;

  查看指定表的创建语句

  show create table 表名;

  查看表结构

  desc 表名;

  删除表

  drop table ;

  修改表结构格式 修改表添加列

   -- 语法:alter table 表名 add 列名 类型(长度)[约束];

    alter table mydb1 add id varchar(20);

  修改列名和类型

   -- 语法:alter table 表名 change 旧列名 新列名 类型(长度)约束;

    alter table user01 change id cid varchar(30);

  修改表删除列

   -- 语法:alter table 表名 drop 列名;

    alter table mydb1 drop id;

  修改表名

   -- 语法:rename table 表名 to 新表名;

    rename table mydb1 to mydb3;

  MySQL数据库基本操作——DML

  DML解释:

  1.插入insert

  2.删除delete

  3.更新update

  数据插入(insert) 1.向表中插入某些insert into 表(列1数据库update语法,列2数据库update语法,列3…) value(值1,值1,值1…);

  2.向表中插入所有列

  insert into 表 value(值1,值1,值1…);

   insert into stu(sid,name,gender,age,birth,address,score)

                    values(001,"魏硕","男",18,"2002-11-25","武汉",100),
                    (002,"魏佳蕾","女",10,"2002-10-21","武汉",80),
                    (003,"魏佳蓓","女",10,"2002-10-21","武汉",70);
                    
    insert into stu values(004,"魏志刚","男",40,"2002-10-21","武汉",80);

  数据修改(update) update 表名 set 字段名=值,字段名=值…;

  update 表名 set 字段名=值,字段名=值… where 条件;

   update stu set address = '武汉';

    update stu set address = '北京' where sid = 001;                        
    update stu set address = '上海' where sid >= 5;                
    update stu set address = 'wuhan' , score = 0 where sid = 10;

  数据删除(delete)

  delete 只删除内容 类似于drop table 删除表

  delete from 表名 [where 条件];

   table 表名 或者 表名

   delete from stu where sid = 11;

    delete from stu;
    truncate table stu;
    truncate stu;

  MySQL约束

  1.主键约束( key)——PK

  2.自增长约束()

  3.非空约束(not null)

  4.唯一约束(unique)

  5.默认约束()

  6.零填充约束()

  7.外键约束( key)——FK

  MySQL约束——非空约束(not null) 非空约束 方式一:创建表时指定

   语法: not null;

   create table user04(

        id int,
        name varchar(20) not null,
        address varchar(20) not null
    );
    insert into user04(id,name,address) values(1001,'魏硕','武汉');
    insert into user04(id,name,address) values(1001,null,null);
    insert into user04(id,name,address) values(1001,'','');

  方式二:创建表之后指定

   语法:alter table 表名 modify 字段 not null;

   use mydb3;

    create table user05(
        id int,
        name varchar(20) not null,
        address varchar(20) not null
    
    );
    alter table user05 modify name varchar(20) not null;
    alter table user05 modify address varchar(20) not null;
    desc user05;    -- 查看表结构
    insert into user05(id,name,address) values(1001,'魏硕','武汉');
    insert into user05(id,name,address) values(1001,null,null);
    insert into user05(id,name,address) values(1001,'','');

  删除非空约束

   语法:alter table 表名 modify 字段 类型

   alter table user05 modify name varchar(20);

    alter table user05 modify address varchar(20);

  MySQL约束——零填充约束() 零填充约束

   use mydb3;

    create table user10 (
        id int zerofill,
        name varchar(20)
    );
    insert into user10 values(123,'张三');
    insert into user10 values(3,'李四');

  删除零填充约束

   alter table user10 modify id int;

  MySQL约束——默认约束() 默认约束 方式一: ;

   create table user08(

        id int,
        name varchar(20),
        address varchar(20) default '北京'   -- 指定默认约束
    );
    insert into user08(id,name,address) values(1001,'魏硕',null);
    insert into user08(id,name) values(1001,'魏硕');
    delete from user08 where id = 1001;

  方式二:alter table 表名 modify 列名 类型 默认值;

   create table user09(

        id int,
        name varchar(20),
        address varchar(20)
    );
    alter table user09 modify address varchar(20) default '武汉';
    insert into user09(id,name,address) values(1001,'魏硕',null);
    insert into user09(id,name) values(1001,'魏硕');
    delete from user09 where id = 1001;

  删除默认约束 语法:alter table modify 列名 类型 null;

   alter table user09 modify address varchar(20) default null;

  MySQL约束——唯一约束(unique) 唯一约束 方式一: unique

   create table user06(

        id int,
        name varchar(20),
        phone_number varchar(20) unique
    );
    insert into user06 values(1001,'张三1',138);
    insert into user06 values(1002,'张三2',139);
    insert into user06 values(1002,'张三2',139); //error
    insert into user06 values(1001,'张三3',NULL);
    insert into user06 values(1002,'张三4',NULL);

  方式二:alter table 表名 add 约束名 unique(列);

   create table user07(

    id int,
    name varchar(20),
    phone_number varchar(20)
    );
        
    alter table user07 add constraint unique_pn unique(phone_number);
    insert into user07 values(1001,'张三1',138);
    insert into user07 values(1002,'张三2',139);
    insert into user07 values(1002,'张三2',139); //error
    insert into user07 values(1001,'张三3',NULL);
    insert into user07 values(1002,'张三4',NULL);

  删除唯一约束 格式:alter table drop index

   -- 方式一:

    alter table user06 drop index phone_number;
    -- 方式二:
    alter table user07 drop index unique_pn;

  MySQL约束——主键约束( key)——PK

  主键约束:

  1.添加单列主键

  2.添加多列联合主键

  3.删除主键

  添加单列主键

   -- (方式一)

    -- 语法:
    create table 表名(
        ...
         primary sky
        ...
    );

   -- 案例

    create table emp1(
        eid int primary key,
        name varchar(20),
        salary double
    );

   -- (方式二)

    -- 语法:
    create table 表名(
        ...
        [constraint ] primary sky [字段名]
    );

   create table emp2(

        eid int,
        name varchar(20),
        salary double,
        constraint pk1 primary key(eid)      -- constraint pk1 可省略
    );

  添加多列联合主键

   -- 语法:

    create table 表名(
        ...
        primary key(字段1,字段2,...,字段n)
    );

   -- 案例

    create table emp3(
        eid int,
        name varchar(20),
        salary double,
        constraint pk1 primary key(eid,name)      -- constraint pk1 可省略
    );

  通过修改表结构添加主键

   -- 语法:

    create table 表名(
        ...
    );
    alter table  add primary key (字段列表);

   -- 案例

    create table emp4(
        eid int,
        name varchar(20),
        salary double
    
    );
    alter table emp4 add primary key (eid,name);

  删除主键

  单列主键/多列主键 都可以删除

  alter table drop key;

   -- 单列主键

    alter table emp4 drop primary key;
    -- 多列主键
    alter table emp5 drop primary key;

  MySQL约束——自增长约束() 自增长约束

   -- 语法:

    字段名 数据类型 auto_increment

   -- 自增长约束

    create table user01(
        id int primary key auto_increment,
        name varchar(20)
    );

  方式一:创建表时指定

   use mydb3;

    create table user02(
        id int primary key auto_increment,
        name varchar(20)
    )auto_increment = 100;
    insert into user02 value(NULL,'魏硕');
    insert into user02 value(NULL,'嘻嘻');

  方式二:创建表之后指定

   use mydb3;

    create table user03(
        id int primary key auto_increment,
        name varchar(20)
    );
    alter table user03 auto_increment = 1001;
    insert into user03 value(NULL,'七七');
    insert into user03 value(NULL,'六六');

  删除自增长约束

   -- delete和truncate在删除后自增列的变化

                -- delete数据之后自动增长从断点开始
                -- truncate数据之后自动增长从默认起始值开始

   delete from user03;

    truncate user03;

本文共 798 个字数,平均阅读时长 ≈ 2分钟