ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Mysql基本操作

2022-09-01 15:05:18  阅读:321  来源: 互联网

标签:name where table emp Mysql 基本操作 tb select


mysql
数据库管理软件
底层还是文件
操作不用IO流
使用sql语言

数据库 database
表 table
列 column
数据 data

cmd控制台里操作
-uroot -p
show databases;展示所有数据库;
create database 数据库的名字;
use 数据库名; 切换数据库
create table 名(id int, name varchar(长度),age int,phone cha(11));
select*from 名;查询表中的内容;

给表添加数据 insert into
insert INTO 名 values(1,'andy',18,'1399999');

sql语言 结构化查询语言

关系型数据库软件分类
1.mysql Apache oracle
2.oracle Oracle 公司
3.db2 IBM
4. sqlserver 微软


--DDL 数据定义语言
结构的操作
创建库
create database db_name;
删除库
drop database db_name;
使用数据库
use db_name;
创建表结构
create table tb_name( fieldName type(length),......);
修改表结构
alter table tb_name
add fieldName type(length); //添加列类型

alter table tb_name
modify fieldName type(length); //修改列的类型

alter table tb_name
drop fieldName; //删除表结构
删除表
drop table tb_name;

decimal(8,2) 小数类型 第一个参数是总长度 第二个是小数点后面保留的位数


DML 数据操作语言
1.添加数据
insert into tb_name values(val1,val2...);
不需要填的列对应位置可以填null,也可以:
选择列插入
insert into tb_name(col1,col2,col3...) values(val1,val2,val3...);

2.修改数据
update tb_name set col1=val1,col2=val2...where col = val;

3.删除数据
delete from tb_name where col1 = val1io。

4.查询
select 选择哪些列(字段) '*' 表示所有列
from 从哪个表中查询
// 查询emp所有的内容:
//select * from emp;
now()获取当前日期 year(now())获得当前日期的年份
起别名 as ' ' 可以省略
where 筛选表中的行
根据where后面的条件对表中所有行进行逐一判断,若符合要求,则将当前行(记录)存入结果集
like 像 模糊查询
not like 不包含

/ 转义符
escape 自定义转义符 escape '@' @就成了转义符 /的功能就消失了 ;
% 通配符 代替>=0个字符
_ 通配符 代替1个字符
//查询名字以li开头的员工信息
select * from emp where name like 'li%';
//查询姓名中包含s的员工信息
select * from emp where name like '%s%';
> < >= <= = (!= <>)
-- and &&
-- between and
select * from emp where salary between 4000 and 5000;
--or 或者 ||
--in(val1,val2....) not in(....);
select * from emp where salary in(4000,4800,5000);

-- 聚合函数 max() min() avg() sum() count()
//查询最高工资
//select max(salary) from emp;
//查询平均工资
//select avg(salary) from emp;
count 统计符合条件的数
select count(*) from emp where salary between 4000 and 5000;
-is null; 该列为null
-is not null;
冗余数据
distinct 去冗余

order by 排序 默认排序为升序 asc可以不写;
//所有员工按工资升序
//select * from emp order by sal;
//若工资相同 按奖金降序 (desc;降序)
//select * from emp order by sal asc,comm desc;

limit 取出结果的某几行
第一参数是从哪里取 , 偏移量
第二个参数是取几个
分页展示
每页展示几行
select * from emp limit 0,10;

主键 每个表只能有一个主键 不重复 不为空!!
primary key;
也可以有联合主键
primary key(col1,col2...)
自增 auto_increment; 设置当前列为自增
not null; 当前列不能为空

group by 分组查询 将分组字段的相同值分成一组,再对不同组做处理
select 后跟分组字段和聚合函数
select class,count(*) from student group by class;
having 分组的筛选
select cno,avg(degree)
from score
group by cno
having avg(degree)<80;

标签:name,where,table,emp,Mysql,基本操作,tb,select
来源: https://www.cnblogs.com/L-azyBoy/p/16646495.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有