mySql数据库

一.什么是数据库

数据库是存储数据和管理的仓库,进行复杂度较高的数据交换业务处理。

二.数据库工具安装下载

1.安装服务器控制面板控制数据库的启动

下载网址: 小皮面板-好用、安全、稳定的Linux服务器面板! (xp.cn)

点击启动显示上图所示即可完成

2.安装数据库操作工具

安装好Navicat for MySQL我们就可以操作我们的数据库了

进入工具里面,我们点击连接,可以看到相对应的选项,连接名可以随便使用,但不能重复

主机号,端口,默认即可 用户名跟密码我们在小皮面板工具中查看相对应的用户名及密码

三. 数据库能够做些什么呢?

1.存储大量数据,方便检索和访问

2.保持数据信息的一致,完整

3.共享和安全

4.通过组合分析,产生新的有用信息

四. 命令行操作数据库

1.命令行连接MySQL

javascript 复制代码
//语法
mysql -h 服务器主机地址(本机可省略) -u 用户名  -p密码(回车输入密码)

//示例

mysql -u root -proot
mysql -u root -p

2. 结构化查询语言

|--------------|----------------------|-----------------------|
| 名称 | 解释 | 命令举例 |
| DML (数据操作语言) | 用来操作数据库中所包含的数据 | insert update delete |
| DDl (数据定义语言) | 用于创建和删除数据库对象等操作 | create drop alter |
| DQL (数据查询语言) | 用来对数据库中的数据进行查询 | select |
| DCL (数据控制语言) | 用来控制数据库组件的存取许可、存取权限等 | grant commlt rollback |

3.操作数据库用户

javascript 复制代码
// 创建用户语法
create user '用户名'@'localhost' identified by '密码'

//例子 localhost/127.0.0.1都可以使用

CREATE USER 'aaaa'@'127.0.0.1' IDENTIFIED BY '123';

4.创建数据库

javascript 复制代码
//创建数据库语法

create database 数据库名;

//例子 创建了一个名为abc的数据库

create database abc;

注意:分号为结束符,不可缺

5.查看数据库列表

javascript 复制代码
//查看数据库列表语法

show databases;

6.选择数据库

javascript 复制代码
//选择数据库语法

use 数据库名;

注意:数据库名不存在会报错

报错代码:[SQL]use aaa;
[Err] 1049 - Unknown database 'aaa'

7.删除数据库

javascript 复制代码
//删除数据库语法

drop database 数据库名;

五. SQL中的运算符

1.算术运算符

|---------|----------------------------------|
| 运算符 | 说明 |
| + | 加运算,求两个数或两个表达式相加的和 |
| - | 减运算,求两个数或表达式相减的差 |
| * | 乘运算,求两个数或表达式相乘的积 |
| / | 除运算,求两个数或表达式相除的商,如5/3的值为1 |
| % | 取模运算,求两个数或表达式相除的余数,如:5/3的值为2 |

sql 复制代码
#算数运算

select 3+2;
select 50-3;
select 32*2;
select 50/10;
select 50%2;

2.赋值运算符

|---------|-------------------------------------|
| 运算符 | 说明 |
| = | 把一个数或变量或表达式赋值给另一个变量,如:Name='王华' |

3.逻辑运算符

|---------|-----------------------------------|
| 运算符 | 说明 |
| AND | 当且仅当两个布尔表达式都为true时,返回TRUE。与 |
| OR | 当且仅当两个布尔表达式 都为false,返回FALSE。或 |
| NOT | 布尔表达式的值取反 非 |

4.比较运算符

|----------|----------------------|
| 运算符 | 说明 |
| = | 等于,例如:age=23 |
| > | 大于,例如:price>100 |
| < | 小于 |
| <> | 不等于 |
| >= | 大于等于 |
| <= | 小于等于 |
| != | 不等于(非SQL_92标准) |

sql 复制代码
select 5>2

#结果为1

注意数据库中的数据类型没有布尔类型,数据库中数据比较时结果返回0或10表示错误,1表示正确

六. 创建表

创建表时多字段使用逗号分隔,保留字用反引号括起来,单行注释:# ,多行注释/**/

sql 复制代码
/*
    创建表语法
    create table 表名(
        字段  类型,
        字段  类型,
        字段  类型
    )
*/

#创建一个学生表
#if not exists :如果不存在
#zerofill 数值位数小于长度时以0填充,数值位数大于长度时,以实际位数显示
create table if not exists student(
    id int(5) zerofill,
    names varchar(255),
    sex char(1),
    birthday Date
)

创建了一个数据表是不是里面内容有很多看不懂,没有关系,我们继续往底下学习一下MySQL的数据类型

1.数值类型

|---------------|---------------|------------------------------------------------------|------------|
| 类型 | 说明 | 取值范围 | 存储需求 |
| TINYINT | 非常小的数据 | 有符值: -2的7次方 ~ 2的7次方-1 无符号值:0 ~ 2的8次方-1 | 1字节 |
| SMALLINT | 较小的数据 | 有符值: -2的15次方 ~ 2的15次方-1 无符号值: 0 ~ 2的16次方-1 | 2字节 |
| MEDIUMINT | 中等大小的数据 | 有符值: -2的23次方 ~ 2的23次方-1 无符号值: 0 ~ 2的24次方-1 | 3字节 |
| INT | 标准整数 | 有符值: -2的31次方 ~ 2的31次方-1 无符号值:0 ~ 2的32次方-1 | 4字节 |
| BIGINT | 较大的整数 | 有符值: -2的63次方 ~2的63次方-1 无符号值:0 ~2的64次方-1 | 8字节 |
| FLOAT | 单精度浮点数 | ±1.1754351e -38 | 4字节 |
| DOUBLE | 双精度浮点数 | ±2.2250738585072014e -308 | 8字节 |
| DECIMAL | 字符串形式的浮点数 | Decimal(M,D) | M+2个字节 |

其中tinyint, int,double最为常用。

2.字符串类型

|------------------|-----------|--------------------|
| 字符串类型 | 说明 | 长度 |
| CHAR[(M)] | 定长字符串 | M字节 |
| VARCHAR[(M) | 可变字符串 | 可变长度 |
| TINYTEXT | 微型文本串 | 0~2的8次方--1字节 |
| TEXT | 文本串 | 0~2的16次方--1字节 |

3.日期类型

|---------------|------------------------|----------------------------------------------------|
| 日期类型 | 格式 | 取值范围 |
| DATE | YYYY-MM-DD,日期格式 | 1000-01-01~ 9999-12-31 |
| DATETIME | YY-MM-DD hh:mm:ss: | 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59 |
| TIME | hh:mm:ss: | -835:59:59 ~ 838:59:59 |
| TIMESTAMP | YYYYMMDDHHMMSS | 1970年某时刻~2038年某时刻,精度为1秒 |
| YEAR | YYYY格式的年份 | 1901~2155 |

若某日期字段默认值为当前日期,一般设置为TIMESTAMP类型

4.表的操作

1.查看表

sql 复制代码
# 查看表是否存在

# 选择myschool数据库
use myschool;
#查看所有表
show tables;

# 查看表的定义
# DESCRIBE 表名;或DESC 表名

# 选择myschool数据库
use myschool;
# 查看student表的定义内容
desc student;

2.删除表

在删除表之前,先使用 if exists语句验证表是否存在

sql 复制代码
# 删除表语法
DROP table 【if exists】表名;


use myschool;
drop table if exists student;

3.修改表

sql 复制代码
#修改表名
alter table 旧表名 rename 【to】 新表名;


#添加字段
alter table 表名 add 字段名 数据类型【属性】;

#修改字段
alter table 表名 change 原字段名 新字段名 数据类型【属性】;

#删除字段
alter table 表名 drop 字段名;
相关推荐
bug菌¹19 分钟前
滚雪球学Oracle[3.5讲]:Oracle特有的SQL功能
数据库·sql·oracle·特性·sql功能
沟沟里的农民21 分钟前
【PostgreSQL】PG数据库表“膨胀”粗浅学习
数据库·postgresql
goTsHgo1 小时前
MySQL 锁 简介
数据库·mysql
MXsoft6182 小时前
机房建设及运维方案重构:迎接信息技术新时代的挑战
数据库
Nervousr3 小时前
SQL自学:分组数据GROUP BY子句和HAVING子句
数据库·笔记·sql·mysql
好好学习的人3 小时前
SQL第13课挑战题
数据库·sql
知识分享小能手3 小时前
mysql学习教程,从入门到精通,SQL HAVING 子句(32)
大数据·开发语言·数据库·sql·学习·mysql·数据分析
快乐江小鱼3 小时前
深入浅出MongoDB(五)
数据库·mongodb
陈序缘3 小时前
Go语言实现长连接并发框架 - 请求分发器
linux·服务器·开发语言·数据库·后端·golang
傻啦嘿哟4 小时前
ORM框架简介
数据库·oracle