1.mysql的数据库创建
//创建一个数据库
create database test;
//删除数据库
drop database if exists test;
//创建数据库如果不存在
create database if not exists test;
//创建数据库如果不存在,默认编码格式utf8;
create database if not exists test default character utf8;
//查看数据库的创建方式
show create database test;
//查看数据库
show databases;
//修改数据库的编码格式
alter database test default character utf8;
2.mysql数据库表的创建
//指定使用的数据库
use test;
//删除数据表如果存在
drop table if exists user;
//创建数据表如果不存在
create table if not exists user(
`id` int primary_key auto_increment comment '主键,自动增长',
`username` varchar(20) unique not null commment `用户名,不为空,唯一`,
`password` char(64) not null comment `密码,不为空`,
`age` tinyint(3) not null default 18 commment '年龄,不为空,默认值18'
)engine=innodb charset=utf8 commment `用户表`;
//查看表
show tables;
//查看表的创建方式
show create table user;
//查看表结构
desc user;
describe user;
/*
数据库的三大范式
1.第一范式要求字段的数据具有原子性,不可再分
2.第二范式就是要解决表设计中不允许出现部分依赖。
3.第三范式就是要解决表设计中出现传递依赖的问题。
数据库的五大约束
1.主键约束 primary key
2.非空约束 not null
3.唯一约束 unique key
4.外键约束 foreign key
5.默认值 default
*/
//添加主键约束
alter table user add primary key(username);
//修改主键约束
alter table user modify id int primary key;
//删除主键约束
alter table drop primary key;
3.数据库表的查询
3.1. 查询表所有的数据
select * from user;
3.2. 查询指定列显示数据
select `username,password` from user;
3.3 带条件where查询
select `username` form `user` where username = `张三`;
3.4 带条件的 where in | where not in【在这里面都有 或者的关系】
select `username` from `user` where age in (18,20,22);
select `username` from `user` where age not in (18,20,22);
3.5带条件的where between【在一个区间内】
select `username` from `user` where age between 18 and 30;
select `username` from `user` where age not between 18 and 30;
3.6模糊查询like
//查询出三个字中,中间那个字是三的
select `username` from `user` where username like _三_;
//查询出最后一个字带三的
select `username` from `user` where username like %三;
//查询出第一个字带三的
select `username` from `user` where username like 三%;
//查询出带三的
select `username` from `user` where username like %三%;
3.7分组查询 group by