mysql -uroot -p
mysql -uroot -pxiaoye1014
exit/quit/ctrl + d
select version();
select now();
show databases;
create database python04;
create database python04 charset=utf8;
show create databse python04;
select database();
use pyhton04;
drop database python04
drop table `python-04`
show tables;
create table students(
id int unsigned not null auto_increment primary key,
name varchar(30),
age tinyint unsigned default 0,
high decimal(5, 2),
gender enum("男", "女", "中性", "保密") default "保密",
cls_id int unsigned
);
show create table students;
desc table01;
alter table students add birthday datetime;
alter table students modify birthday date;
alter table students change birthday birth date default "2020-01-01";
alter table students drop high;
drop table students;
insert into classes values(0, "菜鸟班");
insert into students values(0, "张三", 20, "女", 1, "2020-01-01");
insert into students (name, gender) values (“李四”, 2);
insert into students (name, gender) values ("小乔", 18), ("貂蝉", 19);
update students set gender="男";
update students set gender="男" where id=3
update students set gender="男", age=22 where id=3;
delete from students;
delete from studnts where id=3;
alter students add is_delete bit default 0;
select * from students;
select name, age from students;
select name as 姓名, age as 年龄 from students
select students.name, students.age from students
select s.name, s.age from students as s;
select distinct name from students;
select .. from students where ...
select name from students where name like "%小%";
select name from students where name like "__";
select name from students where name rlike "^周.*论$";
select name where students where age in (12, 18, 30);
select name where students where age not in (12, 18, 30);
select name where students where age between 18 and 34;
select name where students where age not between 18 and 34;
select * from students where heigh is null;
select * from students where heigh is not null;
select * from students where (age between 18 and 34) and gender=1 order by age;
select * from students where (age between 18 and 34) and gender=1 order by age, id desc;
select count(*) as 男性人数 from students where gender=1;
select max(age) as 男性最大年龄 from students where gender=1;
select sum(age)/count(*) from students;
select round(sum(age)/count(*), 2) from students;
select gender from students group by gender;
select gender, count(*) from students where gender=1 group by gender;
select gender, group_concat(name) from students group by gender;
select gender, group_concat(name, "_", age, "_", id) from students group by gender;
select gender, group_concat(name), avg(age) from students group by gender having avg(age) > 30;
select * from students where gender=1 limit 5;
select * from students where gender=1 limit 1, 5;
select * from students inner join classes;
select * from students inner join classes on students.cls_id=classes.id;
select sutdents.*, classes.name from students inner join classes on students.cls_id=classes.id;
select s.*, c.name from students as s inner join classes as c on s.cls_id=c.id;
select s.*, c.name from students as s left join classes as c on s.cls_id=c.id;
select s.*, c.name from students as s left join classes as c on s.cls_id=c.id having c.id is null;
select * from areas as province inner join areas as city on city.pid = province.aid having province.atitle="山东省";
select * from students where height = (select max(height) from students);
create table goods(
id int unsigned primary key auto_increment not null,
name varchar(40) default '',
price decimal(5,2),
cate_id int unsigned,
brand_id int unsigned,
is_show bit default 1,
is_saleoff bit default 0,
foreign key(cate_id) references goods_cates(id),
foreign key(brand_id) references goods_brands(id)
);
update goods as g inner join goods_brands as b on g.brand_name=b.name set g.brand=b.id;
alter table goods
change cate_name cate_id int unsigned not null,
change brand_name brand_id int unsigned not null;
alter table goods add foreign key (brand_id) references goods_brands(id);
alter table goods drop foreign key 外键名称。
source areas.sql;
create table goods_brands (
id int unsigned primary key auto_increment,
name varchar(40) not null
) select brand_name as name from goods group by brand_name;