MySQL入门基础(2):单表操作

xiaoxiao2021-03-01  36

文章目录

(一)数据库分类(二)基本命令(三)简单查询(1)查询(2)聚合(3)条件查询(4)分组 (四)MySQL数据类型(五)约束(1)主键约束(2)唯一约束(3)非空约束 (六)其他(1)truncate语句(2)auto_increment属性

(一)数据库分类

数据库分为关系型数据库和非关系型数据库 关系型数据库:比如Oracle、MySQL非关系型数据库 :比如NoSQL、Redis、MongoDB 关系型数据库:存放的是实体和实体之间的关系(二维表)非关系型数据库:存放的是对象

(二)基本命令

使用数据库可视化工具比如SQLyog查看MySQL中的数据

net start mysql //cmd中启动MySQL服务 select @@basedir as basePath from dual //在MySQL中查询MySQL的安装地址 select @@version; //查看数据库版本 set names gbk; //在使用cmd录入数据时,因为cmd采用GBK编码方式,而数据库采用utf-8编码方式,命令的含义是高速数据库录入的数据是gbk格式,需要翻译转换

(三)简单查询

(1)查询

语序 : where + 分组 + order by

查询语句中的模糊匹配(关键词是like)

字段名 like “pattern”;,pattern中%表示通配符pattern中%的使用: %value; //值以value结尾的value% //值以value开头的%value% //值里包含value

where语句案例

select * from products where pname='十三香' select * from products where price>60; select * from products where pname like '新%' select * from products where price=38 or price=68 or price=98 select * from products where price in(38,68) select * from products where price between 40 and 80

(2)聚合

聚合函数的使用 select avg(price) from products //所有商品价格的平均数 select sum(price) from products //所有商品价格之和 select round(avg(price),2) from products //round函数保证小数精度为2 select count(*) from products; //查询表中有多少条数据

(3)条件查询

条件查询的时候,什么时候使用where什么时候使用having where是对分组前的数据进行过滤having是对分组后的数据进行过滤where之后不能使用聚合函数,having之后可以

(4)分组

group by

(四)MySQL数据类型

数据类型备注tinyintmysql中没有boolean类型,可以使用tinyint类型替代smallintint常用bigintvarcharchardouble(m,n)浮点数长度为m,小数部分有n位,也就是说m-n位.n位

(五)约束

(1)主键约束

主键 作用:标识一条记录,保证记录的唯一性对于一个主键包含多个字段的情况,只有多个字段值都相同的时候才认为出现了重复数据 MySQL约束:对于表的列或者行数据进行限制,确保数据的完整性和唯一性主键约束(Primary Key) 作用:被修饰的字段唯一非空属性:一张表只能有一个主键(但是这个主键可以包含多个字段,也就是联合主键) 主键申明方式1: 字段名 字段属性 primary key主键申明方式2:(在建表的时候申明) create table pk01( id int, username varchar(20), primary key (id) ); 主键申明方式3(在建表成功之后添加主键): alter table tablename add primary key(…,…) alter table pk02 add primary key(字段名1,字段名2)

(2)唯一约束

唯一约束 被修饰的关键词唯一对NULL不起作用关键词为unique,申明方式和主键约束相同 create table un( id int unique, username varchar(20) unique );

(3)非空约束

非空约束 作用:保证被修饰的字段非空字段名 字段属性 not null

(六)其他

(1)truncate语句

truncate会删除一张表中的所有行,然后重新建立这张表truncate和delete的区别 delete逐条删除数据,不会破坏表结构(比如AUTO_INCREMENT属性)truncate会破坏表结构

(2)auto_increment属性

auto_increment 被修饰的字段必须支持自增运算(比如varchar不能被auto_increment修饰,int可以被修饰)被修饰的字段必须是一个key,一般是primary key
转载请注明原文地址: https://www.6miu.com/read-3703912.html

最新回复(0)