mysql----DDL、DML、约束汇总

DDL +DML修改增加

-- 一.DDL
--    1.查看所有数据库
show databases;
--    2.创建数据库
create database shujuku1;
--    3.删除数据库
drop database shujuku1;
--    4.查看所有数据库的表
show tables;
#5.创建数据库的表
create table sss(
    id int,
    sex varchar(1),
    age int,
    score double,
    createdate date
);
#6.查看表的结构
desc sss;
#7.查看建表语句
show create table sss;
#8.在表中添加新的字段(默认添加在表的最后,)
alter table sss add name varchar(20);
#first添加在第一个,
alter table sss add clss varchar(10) first;
-- after+某个字段,添加在某个字段后面
alter table sss add sid int after id;
#9.更改表中某字段的数据类型
alter table sss modify age varchar(10);
#10.修改表中字段及其数据类型
alter table sss change name sname varchar(22);
#11.删除表中字段
alter table sss drop sid;
#12.修改表的名字
rename table sss to ss1;
desc ss1;
#删除数据库中的表
-- drop table 表名
#二.DML
-- 1.在表中添加数据
insert into ss1 values("2211",01,"男","12",33.5,"2011.06.06","lili");#添加全部数据
insert into ss1(id,score) values(02,36.9); insert into ss1(id,clss) values(03,"2212");
#添加部分数据
-- 2.修改表中数据
update ss1 set sex="男",sname="dada" where id=02;
-- 3.删除表中数据
delete from ss1 where id=02;
-- 4.删除表中所有数据
truncate table ss1;
#三.添加约束
-- 主键primary key(唯一+非空),非空 not null ,唯一 unique , 默认 default ,自增 auto_increment;
drop table ss1;
create table ss1(
    sid int,
    sname varchar(10),
    sex varchar(10) default "男"
);
alter table ss1 add primary key(sid);
alter table ss1 modify sid  int primary key;
alter table ss1 modify sname varchar(10) not null;
desc ss1;


DML删除数据 

create table stu1(
    sid int,
    sname varchar(10)
);

insert into stu1 values(125,"lili");
insert into stu1 values(225,"lala");
insert into stu1 values(325,"didi");
-- 删除数据
-- 语法格式 delete from 表名 where 条件
delete from stu1 where sid=125;
delete from stu1 where sid=325;

update stu1 set sname="didi" where sid=225;
-- 删除所有数据
-- 1.语法格式 delete from 表名; (对表中数据进行操作)
delete from stu1;
-- 2.truncate table 表名; (推荐使用) 对表进行操作)
truncate table stu1;
 

约束的设置

-- sid 为主键(非空+默认)且自增
create table stu2(
    sid int primary key auto_increment,
    sname varchar(20),
    sex varchar(10),
    phone varchar(11)
);
-- 添加数据时 sid=default(默认)
insert into stu2 values(default,"zhang3","男","111");
insert into stu2 values(default,"",123,"222");
-- 自增指令在错误指令中 也会增加(但此行数据不会被添加到表中)
insert into stu2 values(default,"wang5","","111");
-- 此时表中有3条数据 但sid=4
insert into stu2 values(default, "li40","女","444");
insert into stu2 values(default, "li40","女","444");

show create table stu2;
desc stu2;

-- 字段要求
-- sid为主键且自增
-- sname 非空
-- sex 默认为男
-- phone唯一
create table stu3(
    sid int primary key auto_increment,
    sname varchar(20) not null,
    sex varchar(10) default "男",
    phone varchar(11) unique
);
insert into stu3 values(default,"lili","女","111");
insert into stu3 values(default,"lala","222");
insert into stu3 values(default, "dada","男","333");
insert into stu3 values(default, "dada","男","555");
insert into stu3 values(default, "dada","男","666");
insert into stu3 values(default, null,"男","777");
insert into stu3 values(default, "meme","男","888");
insert into stu3 values(default, "meme","男","999");
insert into stu3 values(default, "meme","男","123");

desc stu3;

-- 设置主键的三种方式
-- 建表时在数据类型后设置主键
create table stu4(
    sid int primary key,
    sname varchar(20),
    sex varchar(10)
);
-- 建表时指定字段添加主键
-- 语法格式 primary key(id);
create table stu4(
    sid int,
    sname varchar(10),
    sex varchar(1),
    primary key(sid)
);
drop  table stu4;
show tables;
desc stu4;
-- 使用add添加主键
-- 语法格式 alter table 表名 add primary key(id);
create table stu4(
 sid int,
 sname varchar(10),
 sex varchar(1)
);
alter table stu4 add primary key(sid);
-- 使用modify 或 change 添加primary key;
alter table stu4 modify sid int primary key;

删除约束

create table stu1(
    sid int primary key auto_increment,
    sname varchar(10) not null,
    sex varchar(1) unique,
    age int default 12
);
drop table stu1;

-- 删除主键分三步
-- 1.有自增先删自增
alter table stu1 modify sid int;
-- 2.删除主键(唯一的属性)
alter table stu1 drop primary key;
-- 3.删除非空
alter table stu1 modify sid int;

-- 删除 非空和默认都用modify
alter table stu1 modify sname varchar(20);
alter table stu1 modify age int;

-- 删除唯一
-- 语法格式  alter table 表名 drop index 字段名;
alter table stu1 drop index sex;
desc stu1;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值