进入数据库
mysql -uroot -p密码;
创建数据库:
create databese 名字;
切换
use 数据库名;
create table t_name(
字段名 数据类型,
.....
)
插入数据;
insert into t_name (字段,...,) values('');
insert into t_name values(....);
删除数据:
delete from t_name where ....
修改数据
update t_name set 字段=新值,.... where ....
查询:
select * from t_name;
select 字段;,,,, from t_name;
select * from where
条件查询:
>= = <= > < is null is not null
排序
order by 字段 (asc默认) asc desc
去重
distinct
取别名:
as ‘别名’
‘别名’
聚集函数
count sum max min avg。。。
分组:
group by 字段
having:
多表查询:(练习)
表连接:
inner join on = > <
left join on
right join on
`注意取别名
多表连接:
分析需求,求解时:问题小-->大
删除表:drop table t_name;
删除数据库:drop database db_name;
修改表结构:表名、新增字段、删除字段。。。。。
alter
show databases;
show tables;
二。唯一键:unique 可以为null,标识字段值不可重复
create table student2(
sno int unique,
sname varchar(10) ,
sage int
)
三。主键:primary key ,唯一,不允许为null,数据元组的唯一标识,通常在表中利用无意义的id作为主键
create table student3(
id int PRIMARY KEY,
sno varchar(11),
sname varchar(10) ,
sage int
)
自增:auto_increment 主键为int,默认从1开始自增,并且删除过后,不会再出现原来的id值
create table student6(
id int PRIMARY KEY auto_increment,
sno varchar(11),
sname varchar(10) ,
sage int
)
四。外键 :foreign key (字段) references table_name (主键); 指明字段的值依赖于另外一张表的主键值
外键与主键数据类型一致
create table score3(
id int PRIMARY key auto_increment,
sno int,
degree varchar(2),
FOREIGN key (sno) REFERENCES student5 (id)
)
cascade 级联,
外键影响:
student5有从表 score4, 创建时,指明on delete cascade ON update cascade,
删除、更新主表student5时,不受外键约束的影响
假删除,state 1
删除-->数据库中-->state 1-->0
查询时,查询有效的记录 state=1;
mysql -uroot -p密码;
创建数据库:
create databese 名字;
切换
use 数据库名;
create table t_name(
字段名 数据类型,
.....
)
插入数据;
insert into t_name (字段,...,) values('');
insert into t_name values(....);
删除数据:
delete from t_name where ....
修改数据
update t_name set 字段=新值,.... where ....
查询:
select * from t_name;
select 字段;,,,, from t_name;
select * from where
条件查询:
>= = <= > < is null is not null
排序
order by 字段 (asc默认) asc desc
去重
distinct
取别名:
as ‘别名’
‘别名’
聚集函数
count sum max min avg。。。
分组:
group by 字段
having:
多表查询:(练习)
表连接:
inner join on = > <
left join on
right join on
`注意取别名
多表连接:
分析需求,求解时:问题小-->大
删除表:drop table t_name;
删除数据库:drop database db_name;
修改表结构:表名、新增字段、删除字段。。。。。
alter
show databases;
show tables;
二。唯一键:unique 可以为null,标识字段值不可重复
create table student2(
sno int unique,
sname varchar(10) ,
sage int
)
三。主键:primary key ,唯一,不允许为null,数据元组的唯一标识,通常在表中利用无意义的id作为主键
create table student3(
id int PRIMARY KEY,
sno varchar(11),
sname varchar(10) ,
sage int
)
自增:auto_increment 主键为int,默认从1开始自增,并且删除过后,不会再出现原来的id值
create table student6(
id int PRIMARY KEY auto_increment,
sno varchar(11),
sname varchar(10) ,
sage int
)
四。外键 :foreign key (字段) references table_name (主键); 指明字段的值依赖于另外一张表的主键值
外键与主键数据类型一致
create table score3(
id int PRIMARY key auto_increment,
sno int,
degree varchar(2),
FOREIGN key (sno) REFERENCES student5 (id)
)
cascade 级联,
外键影响:
student5有从表 score4, 创建时,指明on delete cascade ON update cascade,
删除、更新主表student5时,不受外键约束的影响
假删除,state 1
删除-->数据库中-->state 1-->0
查询时,查询有效的记录 state=1;