一、创建表
语法:create table XXX()
具体代码:MYSQL-具体代码-创建表 - 简书
if not exists——检查数据库中是否有该表,若是没有该表,则进行创建
/*创建顾客表*/
create table ifnot exists customer(
c_id char(6) primary key,
//为主键,若是需要多个的话,则需要写成primary key(字段一,字段二)
name varchar(30)not null,
//指定了NOT NULL,若插入空值,则会插入失败;而NULL为默认状态,可不写
location varchar(30),
salary decimal(8,2) );
/*创建存款表(注意外键的代码使用)*/
create table ifnot exists deposite(
d_id int(10) auto_increment primary key,
c_id char(6),
b_id char(5),
dep_date date,
amount decimal(8,2),
constraintFK_c_id foreign key(c_id)referencescustomer(c_id));
二、插入数据
语法:insert into XXX表 valuse('值1,','值2','值3'....)
/*插入银行数据*/
insert into bank
values('B0001','工商银行'),.......('B0004','农业银行');
备注:如果是插入某个表的某一列
insert into XX表(XX字段)
values(XXX);
三、更新数据
语法:update 表名
set
字段=XXX,字段2=XXX,
where
条件(XX字段=XX)也可以写成搜索语句则为
where字段 in (select XX from
XX where XX=XX)
例如:将孙杨名下的账户,金额都+1000
一开始的数据:
select * from deposite,customer,bank
where deposite.c_id=customer.c_id and
deposite.b_id=bank.b_id and name='孙杨';
更新数据:
update deposite set amount =amount+1000
where c_id in(select c_id from customer wherename='孙杨');
更新练习:
selectcustomer.c_id,name,bank_name,bank.b_id,dep_date,amount
from depostie
join customer using(c_id)
join bank using(b_id)
where name='张三';// 将张三的银行存款账户名称更改为建设银行
更新后:
update deposite
set b_id=(select b_id from bank where
bank_name='建设银行')
where c_id in(select c_id from customer
where name='张三');
若是修改多个数据变成相同的,会出现问题,无法修改成功,或者后面出现问题
update bank set bank_name=NULL where
b_id='B0001';
//可以通过给某个列赋值为NULL,来进行清空数据——删除的具体的列
四、删除
如果是想要清空表中的内容,使用delete字段——删除的整行
清空表内容:
delete from bank;//清空整个表
delete from bank where b_id='B0005';//删除某一行
五、更新表
alter table bank add bank_phone char(20);//给bank表增加了一列bank_phone
alter table bank drop column bank_phone;//删除表中的一列
drop table tab1;//删除一个表,使用drop table XXX
——删除后是无法撤销的,需要谨慎操作
rename table tab2 to tab3;
//更新表名,若是更新多个,则为rename table A to B, C toD, E to F;
网友评论