MySQL基础

Mysql数据库

什么是数据库?
  # 用于存储数据的仓库  
# 数据可以在硬盘姐内存中存储数据
# 数据库与文件存储数据的区别:
# 数据库本质是通过文件存储数据,
   # 数据库的概念就是系统的管理存储数据文件
数据库介绍
  # 数据路的服务器端 存放数据库主机的服务集群
# 数据库的客户端 可以连接数据库的任意客户端
# DBA(数据库管理员)
# 本质就是socket套接字CS架构应用
数据库的基本概念
  # 库: 多表构建一个数据库  本质就是文件夹
# 表: 多条数据构件一张表 本质就是文件
# 记录(字段): 用来存放一条条的数据 本质就是文件中的一条条数据记录  
# 字段 id,name,sex,age,gender ==>>> 一条数据记录
数据库分类
  # 关系数据库(mysql oracle sqlserver access bd2)  
# 有表的概念
   # 以表中一条条数据
# 非关系型数据库(radis mongdb memcache)
# 没有表的概念
   # 通过KEY:VALUE键值对方式存储文件
数据库启动与连接
  # 前提:配置环境变量
# 1.我的电脑>>
# 1.前往数据库安装路径,bin文件夹下,cmd执行mysqld 启动MySQL服务端
# 2.前往数据库安装路径,bin文件夹下,cmd执行mysql 启动客户端连接服务端


# 将MySQL 服务端添加到系统服务,在系统服务中启动MySQL,命令 mysqld --install
# 进入系统服务: win+r => services.msc => 找到mysql服务手动启动或关闭
# 连接数据库:mysql -hlocalhost -P3306 -uroot -p
# 通过最高权限进入数据库, 要采用root用户进入, 连入本地数据库: mysql -uroot -p

# 查看mysql版本: select version();
# 查看当前用户: select user();
# 查看mysqld下的(当前用户可以操作的)所有数据库: show databases;
密码操作
  # 知道旧密码
# 修改密码: mysqladmin -uroot -p旧密码 password "新密码"
# 遗忘旧密码
# 1.绕过授权表启动服务(安全认证的服务停止): mysqld --skip-grant-tables;
# 2.以任意密码登录root用户: mysql -uroot -P任意
# 3.更新密码: update mysql.user password=password("新密码") where user=root and host="localhost"
# 4.刷新权限: flush privileges;
统一字符编码
  # 查看数据库配置信息: s => 统一编码 => 防止乱码(读取不方便,数据丢失)

# 1.在mysql安装根目录下:创建my.ini (my.cnf) (命令:type nul>文件名.文件后缀)
# 2.设置配置信息并保存
[mysqld]
#port=7777 注释
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
# 3.重启服务

SQL语句

SQL语言分类
  #1、DDL语句    数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
#2、DML语句   数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT
#3、DCL语句   数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
操作文件夹(database)
  create database db1 charset utf8; #增
create database db1 charset utf8; #增
# 修改字符编码集
create database db1 charset='utf8'
show databases;  #查寻所有数据库
show create database db1;
alter database db1 charset utf8; #修改
drop database db1 #删除
操作表(tables)
  # 先切换到文件夹下: use db1
# 查询当前数据库 select database();  
create table t1(id int,name char);  # 增,创建表(字段1 类型, 字段2 类型...)
show tables; # 查询
show create table t1;
alter table t1 modify name char(3);
alter table t1 change name name1 char(2); # 修改
#修改表名称 alter table t1 rename t2;
drop table t1; #删除
操作文件中的内容(字段)
  insert into t1 values(1,'egon1')(2,'egon2')(3,'egon3');  # 新增
select * from t1; # 查询
update t1 set name='sb' where id=2; # 更新
delete from t1 where i d=1; # 删除
表操作
  delete from t1; # 如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。
truncate table t1; # 数据量大,删除速度比上一条快,且直接从零开始,无法删除
auto_increment # 表示:自增
parimary key # 表示:约束(不能重复且不能为空);加快查找速度
学习,学习,学习! 学习是为了更好的未来,不要让别人瞧不起你,加油!!!
原文地址:https://www.cnblogs.com/yangyufeng/p/10235359.html