首页 > 数据库 >Mysql基本操作

Mysql基本操作

时间:2022-09-01 14:56:22浏览次数:77  
标签: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
From: https://www.cnblogs.com/L-azyBoy/p/16646495.html

相关文章

  • 安装调试MySql经常遇到的问题
    1、mysqlserver安装完毕,远程登录不上 1130错误mysql-u用户名-p密码mysql>usemysql;mysql>updateusersethost='%'whereuser='root';mysql>flushprivi......
  • 一次较波折的MySQL调优
    春节长假某日,阳光明媚,春暖花开,恰逢冬奥会开幕,想着一定是一个黄道吉日,必能顺风顺水。没想到却遇到一个有点小波折的客户报障。01故障起因故障起因是客户前一天从自建MySQ......
  • 本地安装并创建MySQL数据库
    原文链接1MySQL安装1.1下载下载地址:https://dev.mysql.com/downloads/installer/里面有其中两个安装包,只有几兆的是在线安装包,几百兆的是离线安装包。推荐使用离线......
  • mysql一键安装工具
    下载地址 https://www.lanzouj.com/i6mk62bhttps://www.52pojie.cn/thread-1034266-1-1.html  1.若想开机自动启动MySQL,在[设置]菜单勾上[服务模式]即可。2......
  • 索引进阶 | 再谈 MySQL 的慢 SQL 优化
    索引可以提高数据检索的效率,降低数据库的IO成本。MySQL在300万条记录左右性能开始逐渐下降,虽然官方文档说500~800w记录,所以大数据量建立索引是非常有必要的。MySQL提供了......
  • MySQL教程 - MySQL介绍
    更新记录转载请注明出处。2022年9月1日发布。2022年9月1日从笔记迁移到博客。MySQL版本版本分类用途分类:Community社区版本Enterprise商业版本阶段分类......
  • MySQL教程 - 数据类型(Data Type)
    更新记录转载请注明出处。2022年9月1日发布。2022年9月1日从笔记迁移到博客。数据类型数据类型概念数据类型是一种数据的限制,规定数据的存储格式、表示方式、范......
  • 安装mysqlclient出现的错误
    解决方案1.命令行查看python版本2.网址:https://www.lfd.uci.edu/~gohlke/pythonlibs/#mysqlclient下载对应版本(我的是py36下的36版本):mysqlclient-1.4.6-cp36-cp36......
  • 【Django】连接MySQL与orm语法
    目录1.流程图2.静态文件及相关配置3.请求方法4.request对象方法5.链接数据库5.1pycharm连接MySQL5.2django链接MySQL6.Djangoorm7.orm语法7.1orm增删改查7.2or......
  • MySQL--行转列 和 列转行
    前置知识CASE流程控制语句:CASE语句为多分支语句结构,该语句首先从WHEN后的VALUE中查找与CASE后的VALUE相等的值,如果查找到则执行该分支的内容,否则执行ELSE后......