1、create database 新库名 新建库
2、查看所有的仓库
3、use 库名 使用库
4、show tables 查看库中所有表
5、create table 表名(字段名 1 字符类型(字符长度),字段名2 字符类型(字符长度));
案例:create table hz015(id int(10),name char(20));
6、格式:INSERT into 表名 VALUES(值1,值2); 插入数据
方法一:
案例:INSERT into hz015 VALUES(1,"xiaozhu");
方法二:
格式:INSERT into 表名(字段1) VALUES(值1); 插入部分数据
INSERT into hz015 (id)VALUES(4);
7、desc 表名 查看 表结构
1、建库
2、使用库
3、建表
4、插入数据
5、对数据增删改查
================================
建表:
create table 表名( 字段名1,数据类型(数据的长度)约束;字段名2,数据类型(数据的长度)约束 )
================================
字符类型:
一个汉字占多少 长度和编码有段 (gbk 和 utf8 这些都是字符集格式,)
utf-8: 一个汉字等于 3个字节
gbk :一个汉字等于2个字节
常用的类型:
(1)数值类型
int 字节:4 大整数值
bigint 字节:8 极大整数值
float 字节:4 浮点数
(2)字符类型
char 0-255 定长字符串
varchar 0-65535 字节 变长字符串
(3)时间类型
date yyyy--mm-dd 年月日 字节3
time hh:mm:ss 时分秒 字节:3
date time 日期+时间 字节:8
year 年 字节:1
================================
约束:
实际上就是表中的限制条件
作用:表在设计的时候加入 约束的目的是为了保证表中的记录完整和有效
约束种类:
1、非空约束 (not null) 非空 用于保证字的值不能为空
2、唯一约束 (unique) 简称:(uni) 保证字段值具有唯一性,一个表可以有多个,能为空
3、主键约束 (primary key)简称 :pri 保证字段值具有唯一性 、一个表中只用一个,不能为空
4、默认值 (default )
5、auto_incrment 自增长
备注:与主键约束一起使用
6、空值插入使用:null
7、保证中文显示,在建表语句后加上: default charset=utf8
案例1:
create table aa(id int(10) PRIMARY key ,age int(10) default 18 ,sfz int(40) UNIQUE )DEFAULT CHARSET=utf8 ;
select * from aa ;
desc aa ;
INSERT into aa(id,sfz) VALUES(1,1232)
案例2:
SELECT * from dt;
create table dt( name char(10), n year not null ,cj_data char(10));
INSERT into dt VALUES("tian",1995,11112222)
================================
删除表:
格式:drop table 表名;
案例:drop table bb ;
================================
表结构:
(1)添加表字段 add
格式:alter table 表名 add 字段名 字段类型(字符长度);
案例:alter table da add age int(10);
(2)修改表字段 change
格式:alter table 表名 change 原字段名 新字段名 新字符类型(新字符类型长度 );
案例:alter table da change age sex char(10 );
(3)删除表字段 drop
格式:alter table 表名 DROP 删除的字段名 ;
案例:alter table da DROP name ;
(4)调换表字段的顺序
a、first 字段放在第一位
格式:ALTER table 表名 add 新字段名 字符类型(字符长度) first ;
案例:ALTER table da add id int(10) first ;
b、modify after (在什么后面)
格式:ALTER table 表名 modify 字符类型(字符长度) after 原字段 ;
案例:ALTER table da modify age int(10) after id ;
================================
查询语句:
select 语句
(1)查询一个表中所有的数据
格式:SELECT * from 表名;
案例:SELECT * from hz015 ;
(2)查询一个表中部分字段的数据
格式:SELECT 字段名1,字段名2 from 表名 ;
案例:SELECT id from hz015 ;
备注:用,逗号分隔
(3)取别名 as 查询语句
(4)指定条件查询内容
格式:SELECT * from 表名 where 条件 ;
案例:SELECT * from hz015 where id=1 ;
条件:比较运算符,and,or ,in ,not in ,between and ,is null ,is not null
where 条件使用注意:
比较运算符:(=,>,<,>=,<=,!=(不等于),<>(不等于))
SELECT * from hz015 where id=1 ;
SELECT * from hz015 where id>1 ;
SELECT * from hz015 where id<3 ;
SELECT * from hz015 where id<=3 ;
SELECT * from hz015 where id>=3 ;
SELECT * from hz015 where id<>3 ;
SELECT * from hz015 where id!=3 ;
and 条件 同时满足所有条件, 比如 :条件1和条件2 同时满足
格式:select * from表名 where 条件1 and 条件2 ;
案例:select * from emp where dept2=101 and incoming>3000 ;
or 条件 满足所有条件中的其中一个条件, 比如 :条件1和条件2 满足其中一个或都满足
格式:
select * from 表名 where 条件1 or 2条件 ;
案例:select * from emp where dept2=101 or incoming>5000 ;
between and 在什么范围内
格式:SELECT * from 表名 where 条件 between 开始值 and 结束值;
案例:SELECT * from hz015 where id between 2 and 4;
in 在一组数据中选(或匹配其中的数据)
格式:select * from 表名 where 字段 in (匹配的值)
案例:select * from hz015 where id in (1,3,10,11)
not int 匹配不在一组数据中的数据
格式:select * from 表名 where 字段 not in (不匹配的值)
案例:select * from hz015 where id not in (1,3,10,11)
is null 为空
格式:select * from 表名 where 字段名 is null ;
案例:select * from hz015 where name is null ;
is not null 不为空
格式:select * from 表名 where 字段名 is not null ;
案例:select * from hz015 where name is not null ;
==================================================
order by 排序
升序:asc
默认:asc 可以不写
格式:select * from 表名 ORder by 字段名 ;
案例:select * from emp ORder by incoming ;
格式二:select * from 表名 ORder by 字段名 asc ;
案例:select * from emp ORder by incoming asc ;
降序:desc
格式:select * from 表名 ORDER BY 字段名 desc ;
案例:select * from hz015 ORDER BY id desc ;
二次排序
格式:select * from 表名 ORder by 字段1 desc , 字段2 desc ;
案例:select * from emp ORder by dept2 desc ,incoming desc ;
==================================================
like 模糊匹配查询
% :表示匹配0个字符或多个字符
—:表示一个字符
案例1:select * from emp where sid like "15%"; 表示匹配15开头的数据
案例2:select * from emp where sid like "%6%"; 表示匹配含有6的数据
案例3:select * from emp where sid like "%4"; 表示匹配4结尾的数据
案例4:select * from emp where sid like "___4"; 表示匹配具体的字符数结尾,或开头
==================================================
limit 显示行数,限制作用
limit m,n m表示是下标, n 表示步长
表中下标是从0开始,
案例1:select * from emp limit 0,3; 0 表示索引第一行,3表示一共显示3行
案例2:select * from emp limit 3,2; 3表示第四行,2 表现显示两行
==================================================
group by 分组
having 接条件,和我们where 一样 ,
group by 分组后查询出来结果,在根据条件接having
案例:select dept2,sum(incoming) from emp group by dept2 ;
案例2:select dept2,sum(incoming) s from emp group by dept2 HAVING s>10000 ;
==================================================
函数:
max 最大值
min 最小值
avg 平均值
count 统计
sum 求和
distinct 去重
select max(incoming) as "最高工资" from emp ; 最高工资
select min(incoming) from emp ; #最少工资
select avg(incoming) from emp ; #平均工资
select count(incoming) from emp ;#发工资的人数
select sum(incoming) from emp ; #工资总额
select DISTINCT(dept2) from emp ; # 去重
==================================================
update set 改
格式 :update 表名 set 修改的字段=字段新值 where 条件
案例:update hz015 set name="xiaozhang" where id=4 ;
案例:update hz015 set name="xiaozhang" where id=4 or id=1 ;
==================================================
drop 删除数据库和删除表 速度快
truncate 快速删除
delete 删除
drop > treuncate>delete
===============================
delete
(1)DELETE from 表名 删除整个表的数据,表还存在 ;
案例:DELETE from hz015 ;
(2)DELETE from 表名 where 条件 删除指定的内容
案例:DELETE from hz015 where id=4 ;
===============================
drop
(1)drop 库名 删除库
案例:drop database kk ;
(2)删除表
格式:drop table 表名 ;
案例:drop table hz015 ;
===============================