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或1****0表示错误,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 字段名; ```

相关推荐
r i c k4 分钟前
数据库系统学习笔记
数据库·笔记·学习
野犬寒鸦18 分钟前
从零起步学习JVM || 第一章:类加载器与双亲委派机制模型详解
java·jvm·数据库·后端·学习
IvorySQL1 小时前
PostgreSQL 分区表的 ALTER TABLE 语句执行机制解析
数据库·postgresql·开源
·云扬·1 小时前
MySQL 8.0 Redo Log 归档与禁用实战指南
android·数据库·mysql
IT邦德1 小时前
Oracle 26ai DataGuard 搭建(RAC到单机)
数据库·oracle
惊讶的猫2 小时前
redis分片集群
数据库·redis·缓存·分片集群·海量数据存储·高并发写
不爱缺氧i2 小时前
完全卸载MariaDB
数据库·mariadb
纤纡.2 小时前
Linux中SQL 从基础到进阶:五大分类详解与表结构操作(ALTER/DROP)全攻略
linux·数据库·sql
jiunian_cn2 小时前
【Redis】渐进式遍历
数据库·redis·缓存
橙露2 小时前
Spring Boot 核心原理:自动配置机制与自定义 Starter 开发
java·数据库·spring boot