数据库基础概念及使用方法(笔记整理)

一、数据库基础概念

1.数据库的相关定义:

  • 数据库:是按照数据结构来组织和存储数据的仓库。(数据库>表>数据)
  • 数据库是存储在一起的相关数据的集合,这些数据是结构化的,无有害的或不必要的冗余,并为多种应用服务。

2.关系型数据库定义:

  • 关系型数据是指采用了关系模型来组织数据的数据库,关系模型为数据库结构的主流模型

3.MySQL-关系型数据库管理系统 

MySQL数据库的优点:

1. MySQL是开源的、免费的。
2. 支持大型的数据库,可以处理拥有上千万条记录的大型数据库。
3. 运行速度快,MySQL体积小,命令执行的速度快。
4. 使用标准的SQL数据语言形式。
5. 支持多种计算机语言。
6. 可移植性强。MySQL能够运行与多种系统平台上,如windows,Linux,Unix等。

二、MySQL基本使用

1.cmd命令提示符使用

启动:net start MySQL

停止:net stop MySQL   [注:一般情况下,MySQL服务是默认打开的]

 2.MySQL登录

• mysql -h host_name -u user_name –p password
1) -h:当连接MySQL服务器不在同台主机时,填写主机名或IP地址,本地环境为localhost或者127.0.0.1
2) -u:登录MySQL的用户名
3)-p:登录MySQL的密码

【mysql -u root -p之后再输入密码】

3.MySQL命令基本用法

1)MySQL命令不严格区分大小写

2)每个完整命令的结束,以“;"英文状态下的分号结束

3)注释内容可以用 #  、 -- 、 /* */ ,这三个符号

4.MySQL常用命令

在cmd命令提示符下常用的命令:

命令说明语法
创建一个数据库create database 数据库名;
显示所有数据库show database;
选定默认数据库use db_name;
显示数据库中所有表show tables;
查看表信息desc table_name;
查看帮助信息\h\h 、help create 、 ?create
结束当前操作\c
查看MySQL服务器状态信息\s
退出MySQL\q   、 exit  、quit

 5.MySQL授权管理命令

创建用户 CREATE USER us1@localhost IDENTIFIED BY 'us1';
删除用户 DROP USER us1@localhost;
修改用户密码 SET PASSWORD FOR us1@localhost = PASSWORD(‘新密码’); --MySQL5版本使用
ALTER USER us1@localhost IDENTIFIED WITH MYSQL_NATIVE_PASSWORD BY '新密码';
用户授权 GRANT SELECT,INSERT ON t库.t表 TO us1@localhost; (部分权限)
GRANT ALL ON *.* TO us1@localhost; (所有库所有权限)
查看用户权限 SHOW GRANTS FOR us1@localhost;
取消用户权限 REVOKE ALL ON *.* FROM us1@localhost;
刷新 FLUSH PRIVILEGES;

6.数据导入导出

1)外部数据导入方法

一、➢ 不登录MySQL导入.sql文件( .sql文件一般是MySQL数据库导出的备份文件或SQL代码)
• 命令(只可在cmd中执行) :mysql  -u 用户名 -p 库名 <路径 +文件名.sql

示例:mysql -u root -p test <D:\\test.sql

二、➢ 登录MySQL导入.sql文件
• 命令(只可在cmd中执行) : source 路径+ 文件名.sql

示例:source D:\\test.sql

2)外部数据导入方法

通过python导入数据,需安装sqlalchemy第三方模块

示例:

import pandas as pd
from sqlalchemy import crete_engine

#MySQL的用户: root,密码:123456, 端口:3306, 数据库: test
engine = create_engine('mysql+pymysql://root:123456@localhost:3306/test')
data = pd.read_csv('D:\\test.csv')
data.to_sql('test1',engine,index=False,if_exists='append')

3)内部数据导出方法

通过python导入数据,需安装sqlalchemy第三方模块

示例:

import pandas as pd
import pymysql
con = oymysql.connect(host='localhost',port=3306,user='root',password='123456',db='test',charset='utf8')   #这里要注意是utf8,不是utf-8
df_data = pd.read_sql('select * from user',con)
df_data.to_csv('D:\\sc.csv')

三、基础数据类型和数据运算

1.字符串类型

类型说明
CHAR(n)固定长度,最多255个字符
Varchar(n)可变长度,最多65535个字符
tinytext可变长度,最多255个字符
text可变长度,最多65535个字符
mediumtext可变长度,最多2的24次方-1个字符
longtext可变长度,最多2的32次方-1个字符

2.数值类型

类型说明
tinyint(m)1个字节 范围(-128~127)
smallint2个字节 范围(-32768~32767)
mediumint(m)3个字节 范围(-8388608~8388607)

int(m)

4个字节 范围(-2147483648~2147483647)

bigint(m)

8个字节 范围(+-9.22*10的18次方)
float(m,d)单精度浮点型 8位精度(4字节) m总个数,d小数位
double(m,d)双精度浮点型 16位精度(8字节) m总个数,d小数位

3. 日期和时间类型

类型说明
DATE日期,格式:YYYY-MM-DD,例如:2022-12-12
TIME时间,格式:HH:MM:SS,例如:12:25:36
DATETIME日期时间,格式:YYYY-MM-DD HH:MM:SS,例如:2022-12-12 12:25:36
TIMESTAMP当前时间,显示格式类似DATETIME,例如:2022-12-12 12:25:36

MySQL中的数据类型转换 

使用的主要函数是:CAST 或 CONVERT

语法:
CAST(expr AS type)、 CONVERT(expr, type) 、CONVERT(expr USING type)

示例:

SELECT CAST(3.14 AS SIGNED),CAST(3 AS DECIMAL(3,1)),CAST('3.14' AS CHAR(4)),
CONVERT('2030-08-01 12:12:12', DATETIME),
CONVERT('2030-08-01 12:12:12', DATE);
比较它们的不一样:
select DATE_FORMAT('2030-8-01 13:10:00','%y-%m-%D'),
DATE_FORMAT('2030-8-01 13:10:00','%Y-%m-%d %T'),#日期+时间
DATE_FORMAT('2030-8-01 13:10:00','%r'),#时间
DATE_FORMAT('2030-8-01 13:10:00','%h:%i:%s'),#时间
DATE_FORMAT('2030-8-01 13:10:00','%H:%i:%s');#时间

数值运算

比较运算符

运算符说明语法
IS NULL 或 ISNULL判断一个值是否为 NULL(空值)a IS NULL
IS NOT NULL判断一个值是否不为 NULL(空值)a IS NOT NULL
BETWEEN AND判断一个值是否落在两个值之间,包含=a BETWEEN b AND c
IN判断一个值是IN列表中的任意一个值a IN (a,b,c)
NOT IN判断一个值不是IN列表中的任意一个值a NOTIN (a,b,c)
LIKE通配符匹配a LIKE 'A%'
regexp正则表达式匹配 REGEXP '^a'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值