MySQL基础操作
DDL操作
对表整体不对表中数据进行修改
-- 查看所有数据库
show databases;
-- 创建数据库
create database if not exists mydb1;
-- 选择使用那个数据库
use mydb1;
-- 删除数据库
drop database if exists mydb1;
-- 修改数据库编码
alter database mydb1 character set utf8;
create database mydb1;
关于创建表
use mydb1;
create table if not exists student(
sid int,
name varchar(20),
gender varchar(10),
age int,
birth date,
address varchar(20),
score double
);
关于查看所有表
show tables ;
查看指定表的创建语句
show create table student;
关于数据库操作DML
1.数据插入
insert into stu(sid,name,gender,age,birth,address,score)
values (1001,'张三','男',18,'2001-12-23','安阳',85.5);
insert into stu(sid,name,gender,age,birth,address,score)
values (1002,'李四','男',19,'2004-05-22','西峡',90.9),
(1003,'王五','女',19,'2002-05-21','南阳',90.8);
-- 格式二//直接按对应关系插入了进去
insert into stu values (1004,'赵六','女',20,'2004-03-01','深圳',79);
2.数据修改
-- 修改所有学生的数据
update stu set address ='林州';
update stu set address ='北京'where sid =1004;
update stu set address ='上海'where sid <1004;
update stu set address ='北京',score=100 where sid =1004;
3.数据删除
-- 删除数据
delete from stu where sid =1004;
-- 清空数据
truncate table stu;
关于数据库的约束
主键约束
-- 创建主键的方式一
create table emp1(
eid int primary key ,
name varchar(20),
deptId int ,
salary double
);
-- 创建主键的方式二
use mydb1;
create table emp2(
eid int ,
name varchar(20),
deptId int ,
salary double,
constraint pk1 primary key(eid)
);
关于联合主键
联合主键每一列都不能为空
use mydb1;
create table emp3(
eid int ,
name varchar(20),
deptId int ,
salary double,
constraint pk1 primary key(name,deptId)
);
关于sql的自增长约束
自增长是为了实现主键的自增长,由数据库系统根据定义自动赋值,实现主键的自动增长,默认情况下初始值为1,每增加一条记录,字段值自动加1.
一个表只能有一次使用自增长约束,auto_increment,且该字段必须有唯一索引,以避免序号重复。自增长路段必须非空,自增长的字段只是整数类型,增长到最大值就失效了。
我们可以指定自增长约束的初始值
create table mydb1.t_user2(
id int primary key auto_increment,
name varchar(20)
)auto_increment=100;
insert into t_user2 values (null ,'张三');
insert into t_user2(name) values ('李四');
指定默认的约束
方式一
create table mydb1.t_user4(
id int,
name varchar(20),
adddress varchar(20)default'北京'
);
insert into mydb1.t_user4(id,name)values(1001,'张三');
-- 方式二;创建表后指定
create table mydb1.t_user5(
id int,
name varchar(20),
address varchar(20)
);
alter table mydb1.t_user5 modify address varchar(20)default'林州';
insert into mydb1.t_user5(id,name)values(1001,'张三');
零填充约束
create table mydb1.t_user6(
id int zerofill,
name varchar(20),
address varchar(20)
);
insert into mydb1.t_user6(id,name)values(1003,'张三');
alter table mydb1.t_user6 modify id int;
insert into mydb1.t_user6(id,name)values(1001,'张三');
零填充约束是为了使格式相同。