什么是数据库
简单地说,就是存储数据的仓库.
数据库管理系统(DBMS)
是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。
数据库分类
关系型数据库(1,oracle数据库 2,mysql数据库 3,MariaDB数据库 4,SQL Server数据库等)
非关系型数据库(1,SQL Server数据库 2,Redis(key-value) 3,MongoDB(Document-oriented)等)
mysql数据库
现在使用较多的mysql数据库版本是5.5和5.6,这两个比较稳定.
安装数据库
1,下载:MySQL
2,安装
3,添加环境变量
4,初始化
mysqld install
5, 启动MySQL服务
net start mysql
关闭MySQL服务
net stop mysql
6,启动MySQL客户端并连接MySQL服务
mysql -u root -p 连接MySQL服务器
修改root密码
方法1: 用SET PASSWORD命令
首先登录MySQL,使用mysql自带的那个客户端连接上mysql。
格式:mysql> set password for 用户名@localhost = password('新密码');
方法2:用mysqladmin
关于mysqladmin的介绍: 是一个执行管理操作的客户端程序:它可以用来检查服务器的配置和当前状态,创建和删除数据库,修改用户密码等等的功能,虽然mysqladmin的很多功能.
通过使用MySQL自带的mysql客户端可以搞定,但是有时候使用mysqladmin操作会比较简单.
格式:mysqladmin -u用户名 -p旧密码 password 新密码
直接在cmd下使用明文设置密码的时候,是不安全的,因为别人可以通过翻看你输入指令的历史记录来查看到你设置的密码,所以我们最好连接进入到mysql里面之后,在进行密
码的修改和设置.
方法3:用UPDATE直接编辑那个自动的mysql库中的user表
首先登录MySQL,连接上mysql服务端.
mysql> use mysql; use mysql的意思是切换到mysql这个库,修改这个库里面的表.
mysql> update user set password=password('123') where user='root' and host='localhost';
mysql> flush privileges; 刷新权限,让其生效,否则不生效,修改不成功.
修改字符集
在安装目录下有一个 my-deflaut.ini 文件,这是一个配置文件, 复制一个在里面配置一下字符集.
[mysql]
只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置. 配置客户端连接的时候,指定一下用户名和密码,那么我们在进行mysql客户
端连接的时候,直接输入mysql然后回车就可以了,并且用户是我们下面指定的root用户.
user=root
password=666
如果没有[mysql],则用户在使用mysql系统自带的mysql客户端来执行mysql命令时的配置以[client]为准
default-character-set=utf8
[mysqld]
在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效
character_set_server=utf8
[client]
针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效
default-character-set=utf8
mysql数据库的简单操作
SQL语句主要是针对数据库里面三个角色进行操作 , 对象是:库 , 表 , 行 , 操作包括:增删改查。
1,库(data文件夹中的文件夹,每创建一个库 , 这个库的名称就是文件夹的名称,文件夹里面保存着一些这个库相关的初始信息)
增:create database db1 charset utf8; #创建一个库 , 可以指定字符集
查:show databases; #查看数据库中所有的库
show create database db1; #查看单独某个库db1的信息
改:alter database db1 charset latin1; #修改库的字符集 , 注意语句的格式(其他语句也是这么个格式), alter(修改) database(修改数据库) db1(哪个数据库) charset(字
符集) latin1(改成哪个字符集)
删: drop database db1; #删除数据库
2,表(操作文件,表是上面库文件夹里面的文件)
先切换库:use db1; #要操作表文件,要先切换到对应的库下才能操作表
查看当前所在的是哪个库:select database();
增:create table t1(id int,name char(10) );
#创建表的时候,和excel一样,需要有字段啊,每个字段还需要只能一下这个字段数据的格式,这里指定的是两个字段列,id和name列,id和name是列名(字段名),id 后面的int的意思说id这一列中的数
据只能是int类型的,name后面的char的意思是,name这一列中的数据只能是char类型的(char表示定长字符串类型),char里面的10是说这个字段的长度最长为10个字符
查:show tables; #查看当前库中所有的表
show create table t1; #查看单表的创建信息
#还可以通过下面两句来查看表信息,以表格的形式展示结果:
desc t1;
describe t1;#上下这两句是一样的结果
改:alter table t1 modify name char(3); #修改字段属性的,将name字段的char长度改为3,改完之后我们在用上面的show create table t1;desc t1;describe t1;来查看一下修改结果.
alter table t1 change name name1 char(2);
删:drop table t1;
3,行(操作文件(表)中的内容/记录)
增:insert into t1 values(1,'dsb1'),(2,'dsb2'),(3,'dsb3'); #往t1表中插入三行数据,注意你插入的每行内容都要和你创建表的时候的字段个数和字段属性对应好,注意每行数据以逗号分隔.
insert后面的into可以不用写.
查:select * from t1; #查看t1表中所有字段的数据,select 字段 from 表.
改:update t1 set name='sb' where id=2; #把id为2的行(记录)中的name字段的数据改为sb;id>1;id<=1;等等都可以.
update t1 set name='sb',id=88 where id>2; #对两个字段进行修改
update t1 set name='sb';#如果不指定where,那么会name字段的所有数据都改成sb.
删:delete from t1 where id=1; #删除id为1的行
清空表:
delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始.
truncate table t1;数据量大,删除速度比上一条快,且直接从零开始.
约束:
auto_increment 表示:自增
primary key 表示:约束(不能重复且不能为空)加速查找