linux
mysql -u -root -p 进入数据库操作界面
show databases 查看所有数据库
caeate databases + 创建数据库
use + 使用数据库
show tables 显示库里所有表
create table 创建表名
desc + 查看表结构
navicat
select * from + 查看来自这个表的所有内容
插入 INSERT INTO 表名 VALUES(值1,值2);
插入部分字段 INSERT into 表名(字段名) VALUES(字段值)
插入的中文字符变成?号 解决方案:在建表时的语句后面添加:DEFAULT charset=utf8;
drop table + 删除表
数值类型 int 存储类型float 浮点数
字符类型 char varchar
时间类型 date time datetime year
注意字符的长度:int(20) varchar(20)
约束用于对表中字段进行限制,保证表中数据的正确性和唯一性
1、primary key 主键约束
2、not null 非空约束
3、 unique 唯一索引
4、default 默认值约束
5、auto_increment 自增长约束
表结构 add 添加字段 change 修改字段 drop 删除字段 rename 修改表名 modify after 字段的调换 first 添加字段到第一位
查询部分字段(多个字段用,分割) select 字段1,字段2 from 表 ;
查询字段可以通过as 取别名 select id as " 编号",name as "姓名" from hz ;可以不写as
指定条件查询内容:where +条件 !=不等于 <>不等于 and 同时满足条件 or 只要满足其中一个条件 就显示 between 。。。and 在什么范围之间 in 在一组数据中选择(在数据汇总匹配) not in 不在一组数据中选 is null 为空的数据 is not nu 不为空的数据
降序 (大到小)
order by desc
案例:select * from hz order by id desc ;
升序(小到大)
asc 或不写
案例:
select * from hz order by id asc ;
select * from hz order by id ;
二次排序
案例:select * from hz order by math desc ,id desc;
ike 模糊匹配查询
%:表示匹配1个字符或多个字符
_ : 下滑线表示一个字符
limit (索引位,步长) 显示指定的数据,限制 select * from hz limit 2; #表示取两行数据, 2 表示步长 select * from hz limit 1,2#表示从索引1开始第二行,2表示步长2行
max 最大数
案例1:select max(math) from hz ;
min最小数
案例2:select min(math) from hz ;
avg 平均值
案例3:
select avg(math) from hz ;
sum 求和
案例4:
select sum(math) from hz ;
count 统计
案例5:select count(math) from hz ;
distinct 去重
案例6:
select DISTINCT(math) from hz ;
group by ....... having
group by 是分组,一般不会单独使用,通常和聚合函数组合使用
案例1:分组
select sum(math),class from hz GROUP BY class ;
改:
update ......set......
格式:update 表名 set 字段名=新值 where条件;
案例:update hz set id=1 where id=9;
==================
删除:
(1)delete
格式:DELETE from 表名 where 条件;
DELETE from hz where id=1;
(2) truncate 快速删除数据
格式:
truncate 表名 ;
案例:
truncate ff ;
(3)drop 删除
格式:drop table 表名
案例:drop table emp ;
单行注释:ctrl +/
取消注释:shift+ctrl+/
多行注释:选中多行 ,ctrl +/
取消注释:选中多行 shift+ctrl+/
备份表结构:
格式:create table 新表名 like 旧表名;
备份表数据
格式:
INSERT into 新表结构 select * from 旧表有数据 ;
案例:
INSERT into emp_new select * from emp ;
备份部分数据
格式:INSERT into 表名(字段1,字段2) select 字段1,字段2 from 旧表 ;
案例:INSERT into emp2(sid,name) select sid ,name from emp ;
备份表结构和数据
格式:
create table 新表 as (select * from 原表);
案例:create table hh as (select * from emp);
在linux 中:
备份:
格式:mysqldump -u root -p 原库>新sql脚本名
还原:
格式:mysql -u root -p 新库<备份好的脚本
标签:hz,数据库,案例,字段,math,表名,select From: https://www.cnblogs.com/xiarenbuzhayan/p/18613342