数据库概念 MySQL语法
数据库概念
将保存的数据部分,存到一个公共的地方,所有的用户涉及到数据相关都必须来这个公共地方查找
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
删除原来的服务
mysqld --remove mysql
mysql的根目录下:
你需要清空data目录。
如果没有data目录,请自行创建一个空目录,起名为data
然后cd到bin目录下:
mysqld --initialize-insecure --user=mysql
然后执行:
mysqld --install mysql --defaults-file=D:\develop\mysql57\my.ini
或者 : mysqld --install
再执行:
net start mysql
服务问题
查看某个进程 tasklist |findstr 名称
杀死进程 taskkill /F /PID 进程号
修改密码:
1.没有密码情况 mysqladmin -uroot -p password 新密码
2.有密码情况 mysqldadmin -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 表名; 删除表中的全部数据
修改表
# MySQL 对大小写不敏感
语法:
1.修改表名
alter table 表名 rename 新表名;
2.增加字段
alter table 表名
add 字段名 数据类型[约束条件...],
add 字段名 数据类型[约束条件...];
alter table 表名
add 字段名 数据类型[约束条件...] first; # 字段加在开头
alter table 表名
add 字段名 数量类型[约束条件...] after 字段名; # 加在指定字段后面
3.删除字段
alter table 表名
drop 字段名;
4.修改字段 # modify 只能改字段数据类型完整约束,不能改字段名,但change可以
alter table 表名
modify 字段名 数据类型[约束条件];
alter table 表名
change 旧字段名 新字段名 数据类型[约束条件];
复制表
# 查询语句执行结果也是一张表,可以看成虚拟表
# 复制表结构+记录 (主键,外键,索引不会被复制)
create table 新表名 select * from 被复制的表名;
# 只复制结构
select * from 表名 where 1=2;
create table 新表名 select * from 被复制的表名 where 1=2;
create table 表名 like employees;
数据库概念 MySQL语法的更多相关文章
- Mysql数据库的简单语法
Mysql数据库是目前使用最为广泛的数据对,对于小型企业的支持度,比oracle数据库友好很多. mysql数据库的基本语法 1:创建并且使用数据库 找出服务器上当前存在什么数据库: SHOW DAT ...
- MySQL——数据库和 SQL 概念&&MySQL的安装
数据库和 SQL 概念 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它的产生距今已有六十多年.随着信息技术和市场的发展,数据库变得无处不在:它在电子商务.银行系统等众多领域都 ...
- 2020年数据库概念与MySQL的安装与配置-从零基础入门MySQL-mysql8版本
作者 | Jeskson 来源 | 达达前端小酒馆 从零基础入门MySQL数据库基础课 数据的概念,简介,安装与配置,Windows平台下MySQL的安装与配置. 数据库的概念:数据库是一个用来存放数 ...
- 数据库(概念、语法、DBMS、SQL语言:创建数据库、表格,添加、修改、删除数据记录)
关系型数据库:以表作为实体,以主键和外键关系作为联系的一种数据结构. 主键:在关系型数据库中,用一个唯一的标识符来标志每一行,这个标识符就是主键.主键有两个特点:非空和不能重复. 外键:在关系型数据库 ...
- mysql语法、特殊符号及正则表达式的使用
http://blog.csdn.net/pipisorry/article/details/46773545 sql语言 结构化的查询语言.(Structured Query Language),是 ...
- Mongodb与mysql语法比较
Mongodb与mysql语法比较 mongodb与mysql命令对比 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由 ...
- Oracle,SQL Server 数据库较MySql数据库,Sql语句差异
原文:Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 1.关系型数据库 百度百科 关系数据库 ...
- mysql语法、特殊符号及正則表達式的使用
http://blog.csdn.net/pipisorry/article/details/46773545 sql语言 结构化的查询语言.(Structured Query Language),是 ...
- 数据库 之MySQL 简单教程
So Easy系列之MySQL数据库教程 1. 数据库概述 1.1. 数据库概述 数据库(Database)是按照数据结构来组织.存储和管理数据的仓库,它产生于距今六十多年前,随着信息技术和 ...
随机推荐
- JVM(三) 对象的创建过程
1.对象的创建过程 1.1 . 给对象分配内存 对象的内存分配有两种方式,一种是指针碰撞另外一种是空闲列表的方式,堆是否规整由我们垃圾回收器来决定的 ,如果垃圾回收带有我们的压缩算法,那么他会规整的分 ...
- [转帖]JAVA虚拟机和安卓虚拟机的区别
作者:天光链接:https://www.zhihu.com/question/20207106/answer/14654536来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出 ...
- [转帖]时序数据库技术体系 – InfluxDB TSM存储引擎之数据写入
时序数据库技术体系 – InfluxDB TSM存储引擎之数据写入 http://hbasefly.com/2018/03/27/timeseries-database-6/ 2018年3月27日 ...
- java抽象类及接口
Java抽象类: 抽象类特点:抽象类除了不能实例化对象之外,类的其它功能依然存在,成员变量.成员方法和构造方法的访问方式和普通类一样. 由于抽象类不能实例化对象,所以抽象类必须被extends [抽象 ...
- 为什么无人机测量主流现在都不用RTK技术,而是PPK技术【转】
为什么无人机测量主流现在都不用RTK技术,而是PPK技术_宇辰网_让世界读懂无人机_全球专业无人机资讯|电商|大数据服务平台 大疆Phantom 4 RTK正式发布_宇辰网_让世界读懂无人机_全球专业 ...
- LOJ3049 [十二省联考2019] 字符串问题 【后缀自动机】【倍增】【拓扑排序】
题目分析: 建出后缀自动机,然后把A串用倍增定位到后缀自动机上,再把B串用倍增定位到后缀自动机上. SAM上每个点上的A串根据长度从小到大排序,建点,依次连边. 再对于SAM上面每个点,连到儿子的边, ...
- •C#进阶系列——WebApi接口测试工具:WebApiTestClient
阅读目录 一.WebApiTestClient介绍 二.WebApiTestClient展示 三.WebApiTestClient使用 1.如何引入组件 2.如何使用组件 四.总结 正文 前言:这两天 ...
- apply,call和bind的使用及区别
1.用途 1)apply,call和bind都是 用来改变this的指向 2)apply和call会让当前函数立即执行,而bind会返回一个函数,后续需要的时候再调用执行 2.this指向问题 thi ...
- 测试库异常down分析(abnormal instance termination)
客户测试库,down问题分析,根据alert 的问题指向,实例异常终止,但是无其它有价值的信息 Terminating the Instance Due to Error Out-Of-Memory( ...
- shell 学习笔记1-什么是shell,shell变量
一.介绍 1.什么是shell Shell 既是一种命令语言,又是一种程序设计语言,他在操作系统得最外层,负责直接与用户对话,把用户得输入解释个OS,并处理各类操作系统得输出结果,输出到屏幕返回个i用 ...