sql问题解答创建表的语句

表1“base_customers”结构如下图,其中CUSTOMERID为主键: 

img

1)写出创建表“base_customers”的语句。
2)查询表“base_customers”中姓“张”的记录。
3)删除表“base_customers”中 CARDNO大于等于75537的记录。
4)插入表“base_customers”中一条记录:CUSTOMERID=1,OUTID=20120218,NAME=刘德华,CARDNO=65536,CARDSN=1。
5)更新“rec_card_make”表中CUSTOMERID=8的记录,使CARDNO加1。


create table base_customers
(

    CustomerId bigint PRIMARY key,
    OutId bigint,
    NAME varchar(200),
    CardNo bigint (20),
    CardSn int
);
select * from base_customers where NAME like '张%';
delete from base_customers where CardNo >= 75537;
insert into base_customers(CustomerId,OutId,NAME,CardNo,CardSn) values(1,20120218,'刘德华',65536,1);
update base_customers set CardNo = CardNo+1 where CustomerId = 8;

补充:
创建表后需要手工插入一些测试数据
第三个问题需要先删除子表中的数据才能删除主表中的数据,除非做了级联删除设置


CREATE TABLE `base_customers` (
  `CUSTOMERID` bigint(20) NOT NULL COMMENT '主键',
  `OUTID` varchar(32) DEFAULT NULL COMMENT 'OUTID注释',
  `NAME` varchar(255) DEFAULT NULL COMMENT 'NAME注释',
  `CARDNO` int(20) DEFAULT NULL COMMENT 'CARDNO注释',
  `CARDSN` int(20) DEFAULT NULL COMMENT 'CARDSN注释',
  PRIMARY KEY (`CUSTOMERID`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='表名注释';

CREATE TABLE `rec_card_mark` (
  `CUSTOMERID` bigint(20) NOT NULL COMMENT 'CUSTOMERID注释',
  `CARDNO` int(20) NOT NULL COMMENT 'CARDNO注释',
  `CARDSN` int(20) NOT NULL COMMENT 'CARDSN注释',
  PRIMARY KEY (`CUSTOMERID`,`CARDSN`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='表注释';

# 查询表“base_customers”中姓“张”的记录。
SELECT * from base_customers where NAME like ('张%');

# 删除表“base_customers”中 CARDNO大于等于75537的记录。
DELETE from base_customers where CARDNO >= 75537;

#插入表“base_customers”中一条记录:CUSTOMERID=1,OUTID=20120218,NAME=刘德华,CARDNO=65536,CARDSN=1INSERT INTO `base_customers`(`CUSTOMERID`, `OUTID`, `NAME`, `CARDNO`, `CARDSN`) VALUES ('1', '20120218', '刘德华', 65536, '1');

#更新“rec_card_make”表中CUSTOMERID=8的记录,使CARDNO加1update rec_card_mark set CARDNO = CARDNO + 1 WHERE CUSTOMERID = 8;

create table base_customers
(  CustomerId bigint PRIMARY key,
    OutId bigint,
    NAME varchar(200),
    CardNo bigint (20),
    CardSn int);
select * from base_customers where NAME like '张%';
delete from base_customers where CardNo >= 75537;
insert into base_customers(CustomerId,OutId,NAME,CardNo,CardSn) 
values(1,20120218,'刘德华',65536,1);
update base_customers set CardNo = CardNo+1 where CustomerId = 8;