小马哥 发表于 2021-8-10 19:23:30

mysql之基本语句(数据库操作)

什么是数据库?
数据的电子仓库。以某种方式存储百万条,上亿条数据,供多个用户访问共享。

数据库的数据如何进行保存?

每个数据库的数据都是通过一个或多个api用于创建、访问,管理,复制所保存的数据。
系统中有很多动态的数据存在数据库中,需要通过访问数据库才能显示。

数据库的原理?
客户端查询,修改,删除,添加操作,通过sql语句对数据库服务器进行操作,将数据展示在客户端
D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\4d31c15a00f14ef2aa837c461160d265\mepvgi_$wj6.jpeg
数据库的分类?
(1)关系型数据库
关系型数据库:数据库中表与表之间存在某种关系,数据存储在不同的表中
如:db2、oracle、mysql(学习)
(2)非关系型数据库
非关系型数据库:通常数据以对象的形式存储在数据库中,如:redis(键值对),hbase(列模型),mongodb(文档类模型)
===========================================================
关系型数据库特点
1.安全
2.保持数据的一致性
3.实现对表与表进行复杂的数据查询

非关系型数据库特点
1.效率高
2.容易扩展
3.使用更加灵活
=============================================================
认识mysql:
mysql是指mysql数据管理系统 术语关系型数据库
瑞典公司mysql db开发的,被oracle 收购,
mysql是一种关系型数据库将数据保存在不同的表汇总,而不是将所有的数据放在一个大仓库中,增加了速度和灵活性。
mysql数据库是目前你web端应用领域使用最广泛的,也是bs架构常用的数据库。
mysql有点:
1.开源、免费
2.体积小、安装简单,维护成本低
3.支持多系统
4.支持多语言:python、Java、php、C++等
5.支持多种存储引擎
6.与其他工具组合可以搭建免费的网站系统
lamp=linux+apache+mysql+php
lnmp=linux+nginx+mysql+php

mysql应用的架构:
单点数据,试用于小规模应用;❤
复制,适用于中小规模应用
集群,适合大规模应用
(mgr集群,三主三从,一主三从)


数据库的术语:
数据库



数据
冗余(多余的重复的数据内容)
单表
多表
临时表
视图
索引
存储
=======================================================
rpm -qa|grep mysql查询Linux中的数据库
yum remove 服务名称 删除Linux 中指定的数据库
yum remove mysql * 删除Linux中所有的数据库包
yum erase 数据库包 删除Linux中的数据
rpm -e --nodeps数据包 删除Linux中的数据库
yum install mysql 安装数据库客户端
yum install mysql-server 安装数据库服务端
安装好后
service mysqld stop 关闭数据库服务
service mysqld start 开启数据库服务
service mysqld restart 重启数据库服务
service mysqdl status 查看服务器状态

mysqladmin -uroot -p password '123456'   (或不要p)设置登录密码
mysql -u root -p 登录数据库
use 库名使用库
show tables 显示所有的表

D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\d996988645d74fd9ac69986d5a508314\xf[}3(h~@5{t.png

D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\f9c8703c0a2149f690c66dd8c57e1934\lf8ad88ulk%5.png

D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\f25305f5674c46149d370df440f653e6\t9bo

D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\7497f69760954552a943debf7b28c1cd\s}y3~kbmv
==================================================================
show databases显示所有的数据库
creat database hz10 创建仓库
drop database hz10 删除一个数据库
createtable 表名(字段1 字符类型1(字符长度
D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\8418bb150dfa41af95317c82c5db7758\8a9hbawkw[%v.png

D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\e51219db01254240b563b3d4b7dbf4b0\1ghf~b9_1h8j.png
grant all privileges on *.* to root@"%" identified by "123456";授权
flush privileges ; 刷新
D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\5c49255662584f159dc67ec56b702dd6\ywgu5b[]43`t.png
========================================================================
语句:
建表
步骤:
第一步:新建一个库 create databses 库名;
第二步:使用库 use 库名 (Linux界面)或点击选择Navicat中的一个库
第三步:建 create table 表名(字段名1 字符类型1(字符长度1),字段名2 字符类型2 (字符长度))
第四步:insert into 插入数据
============================================================================知识点:
一个汉字占多少长度和编码有关(utf-8,gbk)
utf-8:一个汉字=3个字节
gbk:一个汉字=2个字节
认识字符类型:
int 数据类型
char 或varchar 字符类型
float 浮点型数据类型
data 时间类型
======================================================
int   整数    2的负31次方~2的31次方   字节4
bigint      超大整数          字节:8
loat      浮点型数据   字节 :4

D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\146fc2dbf2bf4ae6a82e2b99842cb9d6\s%p
字符类型:
char   固定长度的字符串    最大字符255
varchar   具有最大限制的可变长量         最大65535 字符
D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\949b94fe618f426d8aaef5d4b3b7095b\dxve01`e]0(s.png

时间格式类型:
date yyyy--mmmm--dddd
================================================
建表:
D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\aeed924ed8a4426c822b20f2e0b80246\i$uwsnp_fsqg.png
create table表名(字段名1字符类型1(字符长度)字段名2字符类型2(字符长度)字段名3字符类型3(字符长度)default charset=utf8;默认编码格式,当插入中文数值显示???解决
案例create table hz10(id int(10),name char(20),age int(10))default charset=utf8 ;
===========================================================
D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\b58b838aac5b49aea21276e9b776c37e\(x$ef9]zpe$e.png
表中插入数据:insert into 表名 values (插入值1,插入值2) 注入:插入的值,只有数值不需要加引号,字符要加上引号
如:INSERT into hz10 VALUES (1,"文琪",18);
(2)表中插入数据: insert into表名 values(插入值1)》注入︰插入的值,只有数值不需要加引号,字符要加上引号
desc 表名 查看表结构;
======================================================
建表约束:
表中的限制条件
作用:表在设计的时候加入约束的目的是为了保证表中的记录完整和有效。
(1)非空约束 (not null) 非空,用于保证字段的值不能为空,
(2)唯一约束(unique)   保证字段具有唯一性(不能重复),可以为空,唯一约束可以有多高
(3)主键约束(primary key)保证字段具有唯一性(不能重复),不能为空,一个表中只有一个主键
(4)外键约束(forrign key)两个表之间的主键建立关系
(5)默认:(default)         当字段不填数据,默认数据
(6)自增长:auto_increment   当添加一条数据,自动增长+1
(1)与主键约束一起使用,一般针对id
(3)每插入一条数据,指定的字段值+1
D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\4f451fafaaef4ddead8bac91d443a8ef\rl2w~bxe`a$c.png

D:\多测\weixinobU7Vjm8Wkq7RzNQbioyE1V7jIZc\19b5696093484060b0db30bc1fa68baa\xiwk(7m5{610.png
================================================
drop table 表名 删除表;
例如:drop table aa;
表字段:
添加字段:add
格式:alter table表名 add 字段名 字符类型(字符长度);
alter table hz10 add fs int(10);
修改字段:change
格式:alter table 表名 change 原字段名 新字段名 字符类型(字符长度);
alter table hz10 change fs tz   int(10);
删除字段:drop
格式::alter table表名 drop 字段名;
alter table hz10drop fs
重命名:rename
格式:alter table原表名 rename 新表名;
调换字段顺序: modify after在.....后面
格式:alter table表名 modify 移动的字段名 字段类型(字符长度) after 字段名;
将字段移动到首行:
格式:alter table表名 add 字段名 字符类型(字符长度) first
将字段添加到指定的字段后面
格式:alter table表名 add 新字段名 字符类型(字符长度) after 原表名;


yoki 发表于 2021-8-10 20:08:37

不错不错不错不错不错不错不错不错

yoki 发表于 2021-8-10 20:08:40

不错不错不错不错不错不错不错不错

yoki 发表于 2021-8-10 20:08:45

不错不错不错不错不错不错不错不错
页: [1]
查看完整版本: mysql之基本语句(数据库操作)