数据库
1.相关概念
# 用来存储数据的仓库
# 库:文件夹
# 表:文件
# 数据:记录
# 一个变量:字段
2.常见数据库
# 关系型:数据间存在某种关联关系
oracle: 目前最好的关系型数据库,体现在用户管理,分布式上,但是商业收费
mysql: 免费开源,功能和oracle类似,虽然没有那么强大,但是也可以满足中小企业需求
sqlServer: 属于微软生态链,需要和windows配合使用
DB2: IBM开发的大型关系数据库,收费,通常与硬件捆绑销售,金融行业使用较多
# 非关系型:数据以key-value的形式来存储,存储在内存中,速度较快
mongoDB
redis
memcache
mysql安装和基本配置
1.安装
# 1.带界面版,记住密码
# 2.绿色解压版
1.5.7以后的版本先初始化 mysqld --initialize-insecure;
2.添加环境变量,不需要手动切换目录 打开环境变量,将mysql安装目录下的bin路径添加 进去
3.将mysqld加入到windows的系统服务中 mysqld --install
2.修改默认密码
1.知道密码,能够登录
执行update语句
update mysql.user set authentication_sting = password("123") where user = root and host = "localhost";
2.修改密码方式二:不需要登录,知道就密码
mysqladmin -uroot -p旧密码 password 123;
3.破解密码,当忘记密码时,无法登录,也就不能执行update语句
思路:
1.启动服务器时,控制它不加载授权表
2.无密码登录服务器
3.执行update mysql.user authentication_string = password('123') where
user = "root";
4.重新启动服务器
指令:
1.mysqld # 运行服务器
2.mysqld --skip-grant-tables 跳过授权表,用于重设密码
3.执行update 语句
4.tasklist | findstr mysqld # 找到该进程
5.taskkill /f /pid # 结束服务器程序
6.重启服务器,然后用update中的密码重新登录客户端就OK
sql基本语句
1.增
# 创建库
create database libraryname;
# 创建表
# 方式一:
# 先切到对应的库
use libraryname;
# 在该库下创建表
create tablename;
# 方式二:
create table libraryname.tablename(字段名,类型(长度),)
# 记录
insert into tablename values()
2.删
# 删除库
drop database libraryname;
# 删除表
drop table tablename;
# 删除记录
delete from tablename where 字段名 = 值
3.改
# 改数据库
alter database libraryname 要改的属性名 # 基本上是编码方式
alter database db1 default character set utf8;
alter database db1 character utf8;
# 不能有横杠 -
# 改表
alter table tablename drop|change|m0dify|add
drop 字段名
# eg: alter table dog drop color;
change 旧的字段名 新的类型
# eg: alter table dog change gender sex chr(10);
modify 字段名 新的类型
# eg: alter table dog modify color char(10);
add 字段名 新的类型
# eg: alter table dog add color char(10);
# 改记录
update tablename set 字段名 = 新的值 where 字段名 = 值
4.查
# 查库
show databases # 查看所有数据库
show create databases libraryname # 查看建库的语句
# 查表
show tables; # 查看所有表
desc tablename; # 查看表结构
show create table tablename; # 查见表语句
# 查记录
select *from tablenaem; # *通配符,查看所有字段
select 字段名称1,字段名2.....from tablename;
5.其他
# 库的命名规范
1.不能使用纯数字
2.可以是数字,字母,下划线的任意组合
3.可以是下划线开头
4.不能是关键字 如create
5.不区分大小写
# 重命名表
rename table oldname to newname
# eg: rename table dog to dogtable;
# 修改表的属性
alter table tablename 属性名 值;
# eg: alter table dogtable default charset gbk;
# 删除windows中的服务
sc delete 服务名
# 退出mysql
exist
6.存储引擎
一个产品或服务的核心部分称之为引擎。
而mysql的的核心功能就是存取数据,所以它的引擎就是存取数据的那段代码代码。
show engines # 查看所有引擎
innodb # 默认的存储引擎
# 1.支持所有事物;2.支持行级锁;3.支持外键