mysql之一.初识mysql
1.1数据库管理软件分类
-
管理数据的工具有很多种,不止mysql一个。关于分类其实可以从各个纬度来进行划分,但是我们最常使用的分类还是根据他们存取数据的特点来划分的,主要分为关系型和非关系型。
-
可以简单的理解为,关系型数据库需要有表结构,非关系型数据库是key-value存储的,没有表结构
#关系型:如 sqllite,db2,oracle,access,sql server,MySQL,注意:sql语句通用
#非关系型:mongodb,redis,memcache
1.2mysql
-
MySQL是一个关系型数据库管理系统 ,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
1.3下载和安装
1.4 mysql的cs架构
-
mysqld install 安装数据库服务
-
net start mysql 启动数据库的server端
-
net stop mysql 停止server端
-
客户端可以是python代码,也可以是一个程序
-
mysql.exe 是一个客户端
-
mysql -u用户名 -p密码
-
1.5mysql的用户和权限
-
在安装一个数据库后,有一个最高权限的用户root
-
mysql -h 连接ip地址,如果不写默认连接本地
-
我们的mysql客户端不仅可以连接本地的数据库,也可以连接网络上某个数据库的server端
-
mysql>select user()
-
查看当前用户是谁
-
-
mysql>set password = password('密码')
-
设置密码
-
-
mysql>create user 's21'@'192.168.12.%' identified by '123';
-
创建用户
-
-
mysql>show databases;
-
查看文件夹
-
-
mysql>creat database day37;
-
创建文件夹
-
-
mysql>grant all on day37. * to 's21'@'192.168.12.%'; #赋予day37中所有表的所有权限
-
授权并创建用户
-
flush privileges 让权限立即生效
-
mysql>grant all on day37. * to 'alex'@'%' identified by '123';
-
-
mysql>show grants for 's21'@'192.168.12.%';
-
查看当前用户有哪些权限
-
1.6库,表.数据
-
创建库,创建表 DDL(数据库定义语言)
-
存数据,删数据,修改语言,查看 DML(数据库操纵语言)
-
grant revoke DCL(控制权限)
1>.库操作
-
mysql>creat database 数据库名;
-
创建库
-
-
mysql>show databases;
-
查看当前有多少数据库
-
-
mysql>select database();
-
查看当前使用的数据库是什么
-
-
mysql>use 数据库名;
-
切换到这个数据库(文件夹)下
-
-
mysql>drop datatbase
-
删库(不要轻易使用,除非逼不得已)
-
2>.表操作
-
mysql>show tables;
-
查看当前文件夹中有多少张表
-
-
mysql>create table student(id int,name char(4));
-
创建表
-
-
mysql>drop table student;
-
删除表格
-
-
mysql>desc 表名
-
查看表字段的基础信息
-
-
mysql>show create table 表名
-
能够看到和这张表相关的所有信息
-
-
mysql>describe 表名
3>.操作表中的数据
-
mysql>insert into student values(1,'alex')
-
数据的增加
-
-
mysql>select * from student;
-
数据的查看
-
-
mysql>update 表 set 字段名 = 值
-
修改数据
-
例 : mysql>update student set name = 'yuan';
-
会修改全部
-
-
例 : mysql>update student set name = 'yuan' where id = 2 ;
-
会修改要修改内容
-
-
-
mysql>delete from 表名字
-
删除数据
-
#总结: #SQL:结构化查询语言(Structured Query Language) #DDL((Data Definition Language) 数据库定义语言 #是用于描述数据库中要存储的现实世界实体的语言。 #创建用户 # mysql>create user '用户名'@'%' 表示网络可以通讯的所有ip地址都可以使用这个用户名 # mysql>create user '用户名'@'192.168.12.%' 表示192.168.12.0网段的用户可以使用这个用户名 # mysql>create user '用户名'@'192.168.12.87' 表示只有一个ip地址可以使用这个用户名 #创建库 # mysql>creat database day38; #创建表 # mysql>creat table 表名(字段名 数据类型(长度),字段名 数据类型(长度),) #DML(Data Manipulation Language) 数据库操纵语言 #是SQL语言中,负责对数据库对象运行数据访问工作的指令集,以INSERT、UPDATE、DELETE三种指令为核心,分别代表插入、更新与删除,是开发以数据为中心的应用程序必定会使用到的指令,因此有很多开发人员都把加上SQL的SELECT语句的四大指令以“CRUD”来称呼。 # mysql>insert into student values(1,'alex') 增 # mysql>delete from 表名字 删 # mysql>update 表 set 字段名 = 值 改 # mysql>select/show 查 #select # mysql>select user(); 查看当前用户 # mysql>select database(); 查看当前所在的数据库 #show # mysql>show databases; 查看当前的数据库有哪些 # mysql>show tables; 查看当前的库中有哪些表 # mysql>desc 表名; 查看表结构 # mysql>use 库名; 切换到这个库下 #DCL(Data Control Language) 数据库控制语言 #grant select on 库名.* to '用户名'@'ip地址/段' identified by '密码'