mysql之单表
一、建表语句
1、show databases 查看所有的数据库
2、create databaes 数据库名 创建数据库
3、use 数据库名 指定使用数据库
4、show tables ;
5、创建表
格式:create table 表名 (字段名1 数据类型1(字符长度),字段名2 数据类型2(字符长度));
案例:create table aa(sid int(10),math int(10) );
6、插入数据:
方法一:插入全部的数据
格式:insert into 表名 values (“值1”,“值2”)
方法2:插入部分的数据
insert into 表名(字段值1) values (“值1”)
7、查看数据:查看所有内容
格式:select * from 表名
案例:select * from aa
8、desc 查看表结构的数据
格式: desc 表名
案例 :desc aa;
1、查数据库 show databases
2、创建数据库 create database
3、使用数据库 use
4、查询所有的表:show tables
5、建表 create table
6、对表格插入数据 insert into
7、查询表格中所有数据 select
8、查看表结构 desc
===============================
字符类型
1、一个汉字占多少 长度和编码有关(gbk和utf -8这些都是字符集格式)
utf -8 :一个汉字等于3个字节
gbk:一个汉字等于2个字节
2、常用类型
(1)字符类型
char 字节数 :4 定长字符串 0-255字节
varchar 字节数 :8 变长字符串 0-65535字节
(2)数值类型
int 字节数:4 大整数值
bigint 字节数:8 极大整数值
float 字节数:4 浮点数值
(3)时间类型:
data 字节数:3 年月日
time 字节数:3 时分秒
year 字节数:1 年
datatime :字节数8 年月日+时分秒
约束
一、约束实际上就是表中的限制
二、约束的种类
1、主键约束(primary key ) 简称: pri 保证字段的唯一性,一个表中只有一个主键,主键的内容不能为空;
2、唯一约束(unique) 简称: uni 保证字符具有唯一性,一个表中可以有多个,唯一约束的内容可以为空
3、默认值(default )
4、非空约束(null)
5、auto_incrment 自增长 ,一般和主键一起使用
6、保证中文显示:在建表的语句后加上:deafault charset=utf8
格式:
create table 表名 (字段1 数值类型1(字符长度1) 主键约束 , 字段2 字符类型2(字符长度2) ,字段3 数值类型(字符长度) 唯一约束,
字段4 数值类型(数值长度) 默认字段约束, 字段名5 年份类型 非空约束)default charset=utf8;
案例:
create table ss(id int(20) primary key,name varchar(20) ,sfz bigint(50) unique,age int(10) default 18,n year not null)default charset=utf8;
INSERT into ss VALUES(1,“陈鑫”,‘3456678’,20,‘2000’) ; 插入语句
删除表(删除表和表中数据)
1、drop table 表名;
案例:drop table aa;
2、删除表数据
(1)格式:delete from 表名 删除表数据
案例:delete from ss
(2)格式:delete from 表名 where 条件 删除表中指定数据
delete from ss where id =2;
3、truncate 快速删除表中数据
格式:TRUNCATE 表名 ;
案例:TRUNCATE cc ;drop >truncate>delete
=============================
表结构:
(1)添加表字段 add
格式:ALTER table 表名 add 新增字段名 新增字符类型(新增字符长度);
案例:ALTER table cc add chinese int(10);
(2)修改表字段 change
格式:ALTER table 表名 change 旧字段 新字段 新字段类型(新字段长度);
案例:ALTER table cc change age math int(10);
(3)删除字段 drop
格式:ALTER table 表名 drop 旧字段;
案例:ALTER table cc drop math;
(4)调换字段顺序
a、调换到第一位 :first
格式:ALTER table 表名 add 新增字段名 新增字符类型(新增字段长度) FIRST;
案例:ALTER table cc add math int(10) FIRST;
b、modify after (在什么的后面)
(1)新增字段移动到已存在字段的后面
格式:ALTER table 表名 MODIFY 新的字段名 新增字符类型(新增字段长度) AFTER 旧字段 ;
案例 :ALTER table cc MODIFY chinese int(10) AFTER id ;
(2)已存在的字段移动到已存在字段的后面
格式:ALTER table 表名 MODIFY 旧字段名1 字符类型1(字段长度1) AFTER 旧字段2 ; 案例 :ALTER table cc MODIFY chinese int(10) AFTER sfz ;
查询语句:
select 语句
1、查询一个表中所有的数据 (* 表示所有)
格式:select * from表名;
案例:select * from kk;
(2)查询一个表中一个字段或部分字段的数据
格式:select 字段名1,字段名2 from 表名;
案例:select fs,id from kk;
(3) 查询字段通过as 取别名
格式:select 字段名1 as “别名”,字段名2 as “别名2” from 表名;
案例:select fs as “分数”,id as " 编号" from kk;
(4)select通过指定条件查询内容
格式:select * from 表名 where 条件;
条件:
(1)比较运算符:(>,<,=,!=(不等于),<>(不等于),>=,<=)
案例:
select * from kk where id=1;
select * from kk where id>1;
select * from kk where id<2;
select * from kk where id<>2;
select * from kk where id!=2;
select * from kk where id>=2;
select * from kk where id<=2;
(2)and、or 、in、 ont in ,between and , is null ,is not null
案例:
1、and 同时满足所有条件 比如:同时满足条件1和条件2 才显示
格式:select * from 表名 where 条件1 and 条件2;
案例:select * from kk where id>1 and fs>=90;
2、or 满足所有条件中的其中一个条件就显示 比如:条件1或条件2 只要满足其中一个就可以显示;
格式:select * from 表名 where 条件1 or 条件2;
案例:select * from kk where id>2 or fs>=100;
3、in 在一组数据中匹配(选择数据)
格式:select * from 表名 where 条件 in( 数据的范围或匹配值);
案例:select * from kk where id in( 1,5,3,8,9);
4、not in 匹配不在一组数据中的数据
格式:select * from 表名 where 条件 not in( 匹配值);
案例:select * from kk where id not in( 1,5,3);
5、is null 为空
格式:select * from 表名 where 条件 is null ;
案例:select * from kk where fs is null ;
6、is not null 不为空
格式:select * from 表名 where 条件 is not null ;
案例:select * from kk where fs is not null ;
7、order by 排序
(1)升序: asc (忽略不写)
格式:
select * from 表名 order by 字段名 asc;
select * from 表名 order by 字段名 ;
案例:
select * from kk order by id asc;
select * from kk order by id ;
截图:
(2)降序:desc
格式:
select * from 表名 ORDER BY 字段名 desc ;
案例:
select * from kk ORDER BY id desc ;
截图:
(3)二次排序
格式:select * from 表名 order by 字段名1 asc,字段名2 desc;
案例:select * from kk order by id asc,fs desc;
8、like 模糊匹配查询
(1)%:表示匹配0个字符或多个字符 (通配符)
(2)_: 表示一个字符
a、1% 表示1开头的数据
select * from kk where fs like “1%”;
b、%2 表示2结尾的数据
select * from kk where fs like “%2”;
c、%2% 表示含有2的数据
select * from kk where fs like “%2%”;
d、1__ 表示匹配具体的字符数的开头或结尾的数据
select * from kk where fs like “_1”;
select * from kk where fs like “1";
select * from kk where fs like "1”;
9、limit 显示行数, 限制作用
limit (m,n) m是索引,从0开始; n是步长,要显示几行
数据库中的表的索引是从0开始
格式:select * from 表名 limit 索引值, 步长;
案例:
select * from kk limit 0,2 ;
select * from kk limit 2 ; 默认从0开始,显示2行
10、group by 分组
(1)分组求出数据
案例:分组求出数据
select class,sum(fs) from kk group by class;
#求出每个班的总分:1,2,3班
select class,sum(fs)as ‘总分数’ from kk group by class;
#求出每个班的最低分数:1,2,3班
select class,min(fs)as ‘最低分数’ from kk group by class;
#求出每个班的最高分数:1,2,3班
select class,max(fs)as ‘最低分数’ from kk group by class;
#求出每个班的平均分数:1,2,3班
select class,avg(fs)as ‘最低分数’ from kk group by class;
(2)分组后在接条件,用having 接条件 和我们讲的where差不多
案例1:直接通函数进行判断
select class,sum(fs) from kk group by class HAVING sum(fs)>1000 ;
案例2:将统计出来的字段取别名 as
select class,sum(fs) as s from kk group by class HAVING s>3000;
11、函数:
max 最大值
min 最小值
avg 平均值
count 统计
sum 总数
distinct 去重
案例:
select max(fs) as '最大分数’from kk;
select min(fs) as ‘最小分数’ from kk;
select count(id)as ‘人数’ from kk;
select sum(fs)as ‘总分数’ from kk;
select avg(fs)as ‘平分数’ from kk;
select DISTINCT(class)as ‘班级’ from kk;
12、改 updtate set
格式:
UPDATE 表名 set 字段名=字段值 (修改所有的字段值)
UPDATE 表名 set 字段名=字段值 where 条件 ; (修改指定条件数据的字段值)
案例:UPDATE kk set fs=111 where id=18 ;
截图:
13、备份(在数据库中备份数据和表)
(1)备份表结构(like)
格式:create table 新表名 like 旧表名;
案例:create table mm like kk;
截图:
(2)备份数据
a、格式:insert into 新表结构 select * from 旧表名 ;
案例:insert into mm select * from kk ;
截图:
b、备份指定字段的数据
格式:insert into 新表结构(新表字段1,新表字段2) select 旧表字段1,旧表字段2 from 旧表 ;
案例:insert into nn(id,fs) select id,fs from kk ;
(3)备份表结构和表数据
格式:create table 新表名 as(select * from 旧表名);
案例:create table xx as(select * from nn);
截图:
14、备份库
在linux中备份
备份:
格式:mysqldump -uroot -p 存在库>新建数据库文件.sql
案例:mysqldump -uroot -p dcs35>dcs.sql
截图:
还原:
要求:在数据口新建一个空库
文章来源:https://www.toymoban.com/news/detail-708047.html
文章来源地址https://www.toymoban.com/news/detail-708047.html
到了这里,关于肖sir__mysql之单表__004的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!