MySQL知识

数据库介绍

1、数据库是干什么的?

  存储网站上边的数据

2、数据库的种类

数据库的存储类型:关系型、非关系型

关系型数据库有:MySQL、SQL Server、Oracle

非关系型数据库有:MongoDB、Redis

采用键值对的方式进行数据存储

3、数据库相关概念

服务器:其实就是一台可以给用户提供某些特殊需求的网络上的电脑

数据库服务器:安装有MySQL软件的电脑

数据库:存储在数据库服务器中的

数据表:在数据库中创建的,用于存储数据

字段:数据表中的列名

记录:(也称为数据行)是表中相关数据的有序集合

数据库服务器中可以创建很多的库,每一个数据库又可以创建很多张数据表,数据表中又可以创建很多的字段,根据数据表中的字段,又可以存储很多的记录

学习MySQL

1、如何连接数据库服务器

a、dos窗口,只能够通过sql语句来实现想要达到的目的,并且当sql语句结束的时候,需要使用;

b、第三方软件,可以通过图形界面去实现数据库的操作

        navicat

        aqlvog

MySQL的默认端口号是:3306    需改为3308

主机ip不用改,如果连接不上在进行更改,修改为127.0.0.1

root用户名是数据库超级管理员用户,开发中一般不适用root用户进行链接数据库

特别注意:数据无价

项目开始之初,整个数据库设计要完成,开发过程中仅仅进行微调,切忌随意删改数据

2、操作数据库

四字真言:增删改查(CURD)create  update  read delete

数据库

创建数据:create database 数据库名

查询当前服务器中全部数据库:show databases;

切换数据库:use 数据库名称;

删除数据库:drop database 数据库名称

数据表

创建数据表:CREATE TABLE表名称(

                        字段名称      数据类型【约束】【备注】,

                        ......

)ENGINE=InnoDB charset=字符集(utf8)

备注、约束可写可不写

查询所有数据表:show tables;

查看数据表创建的语句:show create table 表名称

删除表:drop table 表名称

自增从7开始

2.1数据类型

1、字符串

char

varchar

text

longtext

—— 数据类型char和varchar的区别是什么?

  a.  char是固定长度,varchar是可变长度        当你存入的字符串长度小于设定的值,char类型所使用的长度,就是设定的值;varchar使用的是字符的实际长度。

  b.  存储大小不一样         varchar可存储65535个字符,char可存储255个字符

  c. 存储速度不同        char类型的存储速度要比varchar类型 存储速度快

2、数字

a、整数

tinyint

smallint

int

b、小数

float

double

decimal

3、时间

date        年月日

datetime        年月日时分秒

timestamp        年月日时分秒        当数据发生改变时,时间自动更新

NOW()        当前时间

例:设计一张电商用户表

表名称:users

用户名        name        varchar(20)

手机号        phone char(11)

编号        uid        int

性别        sex        tinyint

生日        birth        date

邮箱        email        varchar(30)

状态        status        tinyint

注册时间        createTime        datetime

更新时间        updateTime        timestamp

数据表中的字段不建议使用中文

COMMENT:设置备注

2.2约束

1、空约束

NULL         允许字段插入空值

2、非空约束

NOT NULL        不允许字段插入空值

3、默认值约束

DEFAULT        给字段设置默认值,在字段不插入值得情况下将默认值填入

4、主键约束

PRIMARY KEY        标识唯一列,主键字段的值不会有重复值出现,一张表中只能出现一个主键字段

5、唯一约束

unique        不会有重复值出现,一张表中可以有多个

6、外键约束

FOREIGN KEY      用于从表中的某一字段/

1、涉及两张表之间的关联,拥有外键字段的表叫做从表,外键字段的值的来源那张表叫做主表

2、主表中的字段必须是主键

3、主表和从表的存储引擎必须是innodb

4、一张表中可以设置多个外键字段

a、外键添加(重要)

语法:Alter TABLE 表名称ADD CONSTRALNT 外键名称FOREIGN KEY(外键字段)REFERENCES主表名称(主键字段)【ON UPDATE 级联操作设置】【ONDELETE 级联操作设置】

#将stuinfo 表中的cid字段设置成外键

alter table stuinfo ADD CONSTRAINT fk_cid FOREIGN  KEY (cid) REFERENCES classInfo(cid)

查看表中的约束:SHOW INDEX FROM 表名称

查看全部数据表:SHOW TABLES

b、删除外键

语法:AITER TABLE 表名称 DROP 外键名称

c、外键的级联操作

 ——casecade         级联

——no  action        不做任何操作,不允许级联操作

——set null         设置为空

2.3记录的添加、删除、修改

1、添加记录

语法:INSERT  INTO 表名称(字段1,字段2,......)VALUES(值1,值2,.......);

1):根据字段来插入值

2):缺省字段插入记录

3):多条插入

注意:

1、插入的字段个数必须与插入的值得相同

2、时间类型的值 ,需要使用引号引出来

3、插入值时缺省字段,那么值得顺序与个数与字段的顺序及个数必须保持一致

4、多条记录插入时,值得列表使用逗号隔开     

2、修改记录     

语法:U ​PDATE   表名称 SET 字段名=修改后值,......WHERE条件

举例:update users set status=0 where uid=2

特别注意:在执行修改语句时,一定要写where条件,如果不写where条件,则默认对数据表中所用的记录进行修改

3、删除记录

语法:DELETE FROM 表名称 WHERE 条件

示例:删除uid=2的记录

DELETE FROM users WHERE uid=2

4、查询记录

语法:SELECT 字段列表 EROM users【WHERE 条件】

1、查询全部字段,可以使用*号代替

SELECT * FROM 字段名

2、指定字段查询

<#查询users表中的姓名和手机号

SELECT name, phone FROM users;

3、查询的过程中设置字段别名,使用关键字as进行别名设置

SELECT name as 姓名, phone as手机号 FROM users;

#随堂练习1:查询鼠标的产品型号一共有多少个
SELECT count(*) as 鼠标类型个数 FROM m_goods where catId = (select catId from m_goodscate where catName = '鼠标'

#随堂练习2: 查询所有商品中销售价格最高的商品信息
SELECT * from m_goods where specPrice = (SELECT max(specPrice) FROM m_goods)

#随堂练习3:找出成本价最低的商品信息
SELECT * from m_goods where costPrice = (SELECT min(costPrice) FROM m_goods)

#随堂练习4:全部信息的平均成本价格是多少
SELECT avg(costPrice) as 平均成本价 from m_goods

#随堂练习5:全部商品都售出,可以郑多少钱?
select sum((specPrice-costPrice)*stock) as 总利润 FROM m_goods>

ORDER BY 总分 DESC:降序,从高到低排列。

rollback:相当于开启事务之后的sql语句都没有执行

给值进行命+AS名例:name AS 姓名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值