数据库概念 MySQL语法

六眼飞鱼酱① 提交于 2019-11-27 13:34:59

数据库概念

将保存的数据部分,存到一个公共的地方,所有的用户涉及到数据相关都必须来这个公共地方查找

MySQL

本质就是一款基于网络通信的应用软件,任何基于网络通信的软件底层都是socket

可以把MySQL看成是一款支持远程操作文件的软件

库 >>> 文件夹

表 >>> 文件

记录 >>> 文件内一行行的数据叫做一条条的记录

表头 : 就是表格的第一行数据

字段 : 字段名 + 字段类型

服务端 mysqld

基于socket通信

收发信息

SQL语句(是一个公共的标准)

客户端 mysql

基于socket通信

收发信息

SQL语句

ps:MySQL不单单支持MySQL的客户端操作,也支持其他编程语言直接操作 python,java,c++,php 语法都不一样

DBMS:数据库管理系统

关系型数据库:数据与数据之间可以有关联和限制的,关系型数据库通常都是表结构,用关系数据库第一步是确定表结构

ps:MySQL,oracle,sqlite,db2,sql,server

非关系数据库:通常是一K,V键值对的形式存储数据

ps:redis,mongodb(文档型数据库,非常接近关系型的非关系型数据),memcache

语法

服务端 mysqld

客户端 mysql

sql语句中是以分好结束的,不敲分好默认你没有输入完,客户端还会让你继续输入

客户端登录 mysql -h 127.0.0.1 -p 3306 -uroot -p / mysql -uroot -p

客户端退出 exit; / quit;

将mysqld制作成系统服务 mysqld --install

查看某个进程 tasklist |findstr 名称

杀死进程 taskkill /F /PID 进程号

修改密码:

1.没有密码情况 mysqladmin -uroot -p password 新密码

2.有密码情况 mysqld -uroot -p旧密码 password 新密码

破解密码:

先将已启动的服务端停掉

1.跳过用户名密码验证功能(授权表)启动服务端 mysqld --skip-grant-tables

2.修改管理员用户对应的密码 updata mysql.user set password=password(新密码) where user='root' and host='localhost';

3.关闭当前服务端 重新以验证用户密码的方式启动

4.正常以用户名密码的方式连接mysql服务端

查看mysql服务端简单配置 \s

配置文件:

mysql自带的配置文件不要修改,但自己可以新建一个配置文件 my.ini

mysql服务端在启动时会自动加载你的my.ini配置文件的内配置

修改完配置文件会后需要先将服务端停止 重新启动 才能生效

 

[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci

[client]
default-character-set=utf8

[mysql]
user='root'
password=密码
default-character-set=utf8

 

数据的基本操作语法

库(类似文件夹)

create database 文件名;

show databases; 查所有库

show create database 库名; 查指定的库

alter database 库名 charset='gbk'; 修改编码

drop database 库名; 删库(慎用!!!!!!!)

在创建表的时候,需要先指定库(文件创建在文件夹内)

指定库 use 库名

查看当前所在库 select database();

create table 表名(字段名 字段类型,字段名 字段类型);

show tables; 查看所在库中的所有表

show create table 表名; 指定表查看

desc 表名 <==> describe 表名; 指定查看表中的内容

alter table 表名 modify 字段 字段类型;

drop table 表名;

记录(数据)

先创建一个库或者指定一个已存在的库,切换到该库下,创建表,在操作记录

create database 库名;

create table 表名(字段 字段类型);

insert into 表名 values(对应字段的内容); 插入单挑数据

insert into 表名 values(对应字段的内容1),(对应字段的内容2),...; 插入多条数据

select * from 表名; 查询指定表中的所有字段信息

select 字段 from 表名; 查询指定表中的指定字段信息

select 字段1,字段2 from 表名 where 字段1=信息 or 字段2=信息; 带有筛选条件的字段信息

update 表名 set 字段=新信息 where 字段=信息; 修改数据的一个字段信息

update 表名 set 字段=新信息,字段=新信息 where 字段=信息; 修改数据的多个字段

delete from 表名 where id=1; 指定删复符合条件的数据

delete from 表名; 删除表中的全部数据

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!