first-commit
This commit is contained in:
129
数据库MySQL/数据库基础.sql
Normal file
129
数据库MySQL/数据库基础.sql
Normal file
@@ -0,0 +1,129 @@
|
||||
show databases;
|
||||
|
||||
drop database user_info;
|
||||
|
||||
create database if not exists nengdie;
|
||||
|
||||
use nengdie;
|
||||
|
||||
show create database nengdie;
|
||||
|
||||
drop table if exists user_info;
|
||||
|
||||
create table user_info (
|
||||
user_id smallint(5) primary key auto_increment,
|
||||
age tinyint(3) not null,
|
||||
gender varchar(10) default 'male',
|
||||
email varchar(20),
|
||||
phone_number varchar(20) unicode
|
||||
);
|
||||
|
||||
describe user_info;
|
||||
show create table user_info;
|
||||
|
||||
# modify column data format
|
||||
alter table user_info modify phone_number varchar(25);
|
||||
|
||||
alter table user_info change gender gender varchar(8) default 'male' after phone_number;
|
||||
|
||||
alter table user_info rename user_info1;
|
||||
show tables;
|
||||
drop table user_info1;
|
||||
|
||||
alter table user_info add user_name varchar(30) after user_id;
|
||||
|
||||
describe user_info;
|
||||
|
||||
# DML
|
||||
insert into user_info (age, user_name,gender, email, phone_number)
|
||||
values
|
||||
(20,'wdd','male','wdd@qq.cm','123456'),
|
||||
(18,'cxc','male','cxc@163.com','13911'),
|
||||
(12,'die','male','die@qq.com','234325');
|
||||
|
||||
select * from user_info;
|
||||
|
||||
delete from user_info where user_id=3;
|
||||
|
||||
insert into user_info (age, user_name,gender, email, phone_number)
|
||||
values
|
||||
(12,'die','male','die@qq.com','234325'),
|
||||
(18,'fangfang','female','fang@qq.com','123');
|
||||
|
||||
update user_info set user_name='fang' where user_id=5;
|
||||
|
||||
|
||||
#DQL
|
||||
select user_id,user_name from user_info;
|
||||
|
||||
select user_name,email from user_info where user_id=4;
|
||||
|
||||
select user_id,email from user_info where user_info.user_name like '%c';
|
||||
|
||||
update user_info set phone_number=null where user_id=5;
|
||||
select * from user_info;
|
||||
|
||||
select user_name,age,gender from user_info where phone_number is null ;
|
||||
|
||||
select user_name, email from user_info where age=18 and user_info.gender='male';
|
||||
|
||||
select gender,count(*) as count_num from user_info group by gender;
|
||||
|
||||
# DQL high level
|
||||
## union
|
||||
|
||||
select * from user_info where user_info.gender='female'
|
||||
union
|
||||
select * from user_info where user_info.user_name like '%c';
|
||||
|
||||
drop table if exists fav_thing;
|
||||
create table fav_thing (
|
||||
fav_id tinyint(4) primary key auto_increment,
|
||||
fav_thing varchar(150),
|
||||
fav_user_id smallint(5) not null,
|
||||
constraint fk_fav_user foreign key fav_thing(fav_user_id) references user_info(user_id)
|
||||
);
|
||||
|
||||
describe fav_thing;
|
||||
|
||||
insert into fav_thing (fav_thing, fav_user_id)
|
||||
VALUES
|
||||
('reading',1),
|
||||
('fighting',5);
|
||||
|
||||
select * from fav_thing;
|
||||
|
||||
## inner join
|
||||
select * from user_info
|
||||
inner join
|
||||
fav_thing ft on user_info.user_id = ft.fav_user_id;
|
||||
|
||||
select * from user_info
|
||||
inner join fav_thing;
|
||||
|
||||
select * from fav_thing
|
||||
inner join user_info;
|
||||
|
||||
## left outer join
|
||||
## 查询所有的user对应的fav_thing
|
||||
select * from user_info
|
||||
left join
|
||||
fav_thing ft on user_info.user_id = ft.fav_user_id;
|
||||
|
||||
select * from fav_thing
|
||||
left join user_info ui on ui.user_id = fav_thing.fav_user_id;
|
||||
|
||||
select * from user_info
|
||||
cross join
|
||||
fav_thing ft on user_info.user_id = ft.fav_user_id;
|
||||
|
||||
select * from fav_thing
|
||||
cross join user_info ui on ui.user_id = fav_thing.fav_user_id;
|
||||
|
||||
## full outer join
|
||||
select * from user_info
|
||||
full join fav_thing ft on full.user_id = ft.fav_user_id;
|
||||
|
||||
select * from fav_thing
|
||||
full join user_info ui on ui.user_id = full.fav_user_id;
|
||||
|
||||
Reference in New Issue
Block a user