一.什么是数据库
数据库是存储数据和管理的仓库,进行复杂度较高的数据交换业务处理。
二.数据库工具安装下载
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 字段名; ```