2022 8-15 第四组 曹雨 MySQL数据库01

MySQL

  • MySQl是一个“关系型数据库管理系统”。
  • MySQL使用了一种语言“SQL语言”
  • MySQL分为社区版和商业版,体积小,速度快,成本低,开源
  • 以表的形式存取数据

基本操作

MySQL操作模式,首先需要创建一个数据库,在库中保存多张表,在表中存数据

登录指令

MySQL-和127.0.0.1 -p3306 -uroot -p

MySQL是一个数据库管理系统

create database 数据库名

查看所有数据库

show databases;

使用数据库

use 数据库名

用来存储数据的,是有结构的数据的集合

  • 行:一行就是一个数据
  • 列:一列是一个字段

SQL语言

一种特殊目的的编程语言。是一种数据库查询和程序设计语言。主要是用于存取数据,以及查询更新管理关系型数据库。

SQL语言分类

DCL (Data Control Language):数据控制语言,用来定义访问权限和安全级别

创建一个用户

创建一个用户,并且该用户只能在指定的ip地址上登录mysql。

create user 用户名@ip地址 identified by ‘密码’

用户于用户之间是隔离的

修改密码

set password for 名字@'%' = password(‘新密码’)

给用户授权

create 创建数据库
select:查询
delect:删除
select :选择
grant授权:

   grant ‘权限一,权限二---权限n’on 数据库名。to用户名ip地址

撤销授权:

     revoke 权限 on 数据库 = from 用户名ip地址

查看权限:

    show grants  

删除用户

    drop user 用户名@ip地址

DDL :数据定义语言,用来定义对象:库,表,字段,主要是定义或该变表的结构

创建表

create table 表名 {
  字段名1(列名)  类型(长度) 约束条件(可有可无),
  字段名2 (列名)  类型(长度) 约束条件(可有可无) ,
   ………………;
}

整型

在关系型数据库中,我们需要这项表名和列名,同时设定

MySQL数据类型 含义
tinyint 1异界,范围-128!127
smalllest 2字节,范围(-3W多 ~3W多)
mediumint 3字节范围
int 四字节
bigint 8字节 非常大

如果长度需要配合zerofill 用0填充:

	int4) ubsigned zerofill

上述的int长度为4,如果设置了zerofill,如果数据是1最终存到表格的数据格式为:0001,0010……

浮点型

MySQL数据类型 含义
float(m,d) 4字节,单精度浮点型,m总长度,d小数位
double(m,d)
decimal(m,d) decimal是存数为字符串的浮点数,对应Java中的BigDecimal

定义一个float(5,3):
加入插入一个数据是123.45678,最后查询得到结果是99.999
插入12.3456789 最后查询结果是12.346
在使用浮点型的时候,要以插入数据库中的实际结果为准。

字符串

MySQL数据类型 含义
char(n) 固定长度,最多255个字符
varchar(n) 可变长度,最多65536个字符
tinytext 可变长度,最大255个字节
text 可变长度,最大65535
mediummtext 可变长度 16MB
longtext 可变长度 4G

char,varchar的区别:

  • char类型是定长类型,当定义char(10),输入“123”,他们占用的空间依然是10个字符,但是如的字符超出了指定的范围,char会截取超出的字符,而且。当存储char,MySQL会自动删除输入字符串末尾的空格
  • char适合存储很短的谜一般固定长度的字符串,例如,char非常适合存储密码MD5值,因为他是一个定长的值,对于端的列,charbivarchar在存储空间上效率更高
  • varchar(n)类型用来存书可变长度,长度最大为n个字符的可变长度的字符串数据。比如varchar(10),然后储存“abc”,实际就是存储了3个字符
  • char类型每次修改的数据长度相同,效率跟高,varchar,每次修改的数据长度如果不同,效率更低
    (2)varchar和text区别:
  • text不能设置默认值,varchar可以设置默认值
  • text类型,由于单表的最大行宽的限制,支持溢出存储没指挥存放768字节在数据页中,剩余的数据存储在溢出段中
  • 一般我们用varchaar

日期类

MySQL数据类型 含义
date 3字节。日期 2022-08-15
time 3字节,时间 10:54:30
datatime 8字节2022-08-15 10:54:30
timestamp 4字节 时间戳 毫秒数
year 1字节 年份

建表约束

因为一张表要有多个列,数据库中表可能也不只有一个,建表约束说的就是我们应该如何规范表中的数据,以及表之间的关系

MySQL数据类型
约束名称 描述
NOT NULL 非空约束
UNIQUE 取值不能重复
PRINARY KEY 主键约束,自带非空,唯一,索引
DEFAULT 默认值
FOREIGH KEY 外键约束,表和表之间的约束

在创建表的时候,建议字段名使用着重符
SQL语言没有驼峰,更没有大写,且我们在编程中会大量的使用下划线(多单词组成用下划线分开)

修改表

查看当前库里的所有表

	show tables;

查看表结构:

	desc 表名:

修改表5个操作:
前缀:alter table 表名………………

DML(Data Manipulation Language):定义数据的,数据操作语言

该语言来对表记录进行操作(增,删,改),不包含查询
插入数据()

  • DQL():数据库查询语言
  • TCL:事务控制语言

总结

今天学习了,数据库的一些基本概念和使用。感觉不是很难,但是在自己编程的时候还是会不自觉地使用Java的编码形式。而且很多东西没有提示,总感觉自己输的不对。

posted on   figh466  阅读(19)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示