mysql 数据库
数据库
后台/后端
复杂的代码,隐藏在后端
前端
返回到前端,装饰一下,给别人看的
数据库中的几个概念
记录、数据 data
表 table
库 base
所谓数据库中的库就是文件夹,一般情况下,每个程序使用一个库
数据库管理系统 dbms(database mannagement sysytem):能够通过一个软件来管理文件,文件夹,数据
数据库服务器:把数据库装在哪台机器上,哪台机器就是数据库服务器
关系型数据库:一条数据包含了一个事物的多条信息,这些信息之间是有关联性的
非关系型数据库:存取频繁,并且要求效率高的,不突出数据之间关联的
关系型数据库:mysql 开源
oracle 企业级
sqlite 轻量级
sql server 大学
非关系型数据库(消息转发):memcache、redis、mongoDB、nosql
数据库的优势: 1.程序稳定性 :这样任意一台服务所在的机器崩溃了都不会影响数据和另外的服务。 2.数据一致性 :所有的数据都存储在一起,所有的程序操作的数据都是统一的,就不会出现数据不一致的现象 3.并发 :数据库可以良好的支持并发,所有的程序操作数据库都是通过网络,而数据库本身支持并发的网络操作,不需要我们自己写socket 4.效率 :使用数据库对数据进行增删改查的效率要高出我们自己处理文件很多
用户相关:
启动server端 >net start mysql
使用默认用户启动mysql客户端,默认用户登录没有权限查看所有库
>mysql 表示启动mysql客户端
mysql>select user(); 查看当前登陆的用户 用户名@ip地址
mysql>show databases; 查看所有的库
mysql>exit; 退出当前的客户端
指定用户登录 root用户 mysql中权限最高的 管理员用户
用户名root登录
>mysql -uroot -p 初始化没有密码 直接回车进入
mysql> select user(); 查看当前登录用户
输入 \c 表示放弃本条语句
mysql>set password = password('123') 设置密码
创建用户 create user
create user 'wang'@'192.168.16.*' identified by '123' 指示网段
create user 'wang'@'%' identified by '123' 所有机器都可以连接
给新用户授权 grant
grant 操作(select/all) on '库.表' to '用户'@‘ip地址’
grant select on ‘*.*’ to 'wang'@'192.168.16.11'
创建用户并授权 grant
mysql> grant all on *.* to 'wang'@'%' identified by '123' 给出所有权限
初识sql语句
SQL : 结构化查询语言(Structured Query Language)简称SQL(发音:/ˈes kjuː ˈel/ "S-Q-L"),是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统 SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。SQL语言分为3种类型: 1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER 2、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE、查询数据SELECT 3、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
1. 操作文件夹(库) 增:create database db1 charset utf8; 查:show databases; 改:alter database db1 charset latin1; 删除: drop database db1; 2. 操作文件(表) 先切换到文件夹下:use db1 增:create table t1(id int,name char); 查:show tables 改:alter table t1 modify name char(3); alter table t1 change name name1 char(2); 删:drop table t1; 3. 操作文件中的内容(记录) 增: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 id=1; 清空表: delete from t1; #如果有自增id,新增的数据,仍然是以删除前的最后一样作为起始。 truncate table t1;数据量大,删除速度比上一条快,且直接从零开始, *auto_increment 表示:自增 *primary key 表示:约束(不能重复且不能为空);加速查找
mysql> desc 表的名字; # 查看创建出来的表结构
1. 关闭正在运行的MySQL服务 2. 打开DOS窗口,转到mysql\bin目录 3. 输入mysqld --skip-grant-tables 回车 --skip-grant-tables 的意思是启动MySQL服务的时候跳过权限表认证 4. 再开一个DOS窗口(因为刚才那个DOS窗口已经不能动了),转到mysql\bin目录 5. 输入mysql回车,如果成功,将出现MySQL提示符 > 6. 连接权限数据库: use mysql; 6. 改密码:update user set password=password("root") where user="root"; mysql5.7以上版本--> UPDATE user SET authentication_string=PASSWORD("root") WHERE User="root"; 7. 刷新权限(必须步骤):flush privileges; 8. 退出 quit。 9. 注销系统,再进入,使用用户名root和刚才设置的新密码123登录。

浙公网安备 33010602011771号