SQL语句--mysql增删改查语句(增删数据库、完整性约束、创建表、修改表结构、查看表、插入数据、修改数据、复制表[数据库]、删除表[数据])

#增删数据库
create database if not exists learn;  #创建数据库learn
drop database db;   #消除数据库db


#完整性约束条件(6个)
primary  key:   主键 (唯一不为空,一个表只有一个主键)
auto_increment  : 自增长(必须为主键字段)
FOREIGN KEY : 外键  
not null : 非空
unique: 唯一  (可以为空,且一个表可以有多个)
default :  默认值


#创建表tname1
create table tablename1 (
	t1_id int primary key auto_increment,
	name varchar(20) not null,
	address varchar(40),
	birthday date,
	sex bit(1),
	phone char(11)
)ENGINE= MYISAM character set utf8mb4;

create table tablename2 (
	t2_id int primary key auto_increment,
	name varchar(20) character set utf8mb4,
	address varchar(40),
	birthday date,
	sex bit(1),
	phone char(11)
)ENGINE= MYISAM character set utf8mb4; #将这张表的字符串编码设置为utf8mb4,不然输入中文的时候会乱码


#修改表结构
#查看表结构
desc tablename1;
#添加字段
alter table tablename1 add vocation varchar(40) character set utf8mb4 AFTER phone; 
alter table tablename2 add vocation varchar(40) character set utf8mb4;
alter table tablename1 add t_id int first;
#修改字段
alter table tablename1 change t_id t_id0 int;
alter table tablename2 change name name varchar(20) character set utf8mb4 not null;
alter table tablename1 modify t_id0 varchar(11);
alter table tablename1 modify t_id0 varchar(11) after vocation;
#删除字段
alter table tablename1 drop t_id0;
#重命名
alter table tablename1 rename to tname1;
rename table tname1 to tablename1;


#查看表结构
desc tablename1;
#查看全部数据
select * from tablename1;


#插入数据
	#向全部字段添加数据
insert into tablename1 values (1,"Jalen","上海市",19911208,1,"18528191312","IT");
	#向部分字段添加数据
insert into tablename1 (name,address,birthday,sex,vocation) values ("XR","广州市",19920725,0,"IT");
	#批量数据插入到tablename2
insert into tablename2 (name,address,birthday,sex,vocation) 
values("XA","广州市",19920321,0,"IT"),("XB","广州市",19940826,1,"IT");


#修改表中数据
update tablename2 set address = "北京市" , sex = 1 where name = "XA";


#复制表结构和数据
	
	#同时复制表结构和数据到新表(新表会去除约束条件),做2次表查询使用时常用
	create table tablename3 
	select name,address,birthday,sex,phone,vocation from tablename2
	where t2_id between 1 and 2;
	
	#只复制表结构到新表(会去除主键和自增约束)
	create table tablename4 select * from tablename2 where 1=2;
	#或者(只复制表结构到新表,所有约束条件均不改变)
	create table tablename5 like tablename2;
	
	#只复制表数据到已存在的其他表对应字段中
	insert into tablename4 (name,address,birthday,sex,phone,vocation) 
	select name,address,birthday,sex,phone,vocation from tablename2
	where t2_id between 1 and 2;
	

#删除(删除表,删除表字段,条件删除表数据,清空表)
	#删除整个表
	drop table tablename5;
	#删除表字段
	alter table tablename4 drop name;
	#条件删除表数据(当没有where限制条件时,等价于清空表,但是自增限制条件依然继续,逐行删除)
	delete from tablename4 where address = "北京市";
	#清空表(自增条件也清空重置,全部数据一起删除,效率更高)
	truncate table tablename4;
	

 

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值