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;