mysql数据库part1
- 一、mysql基本操作
- 二、mysql的增删改查
- 1、库操作
- 2、表操作
- 3、数据操作
- 三、常用数据类型
SQL语言分为4个部分:DDL(定义)、DML(操作)、DQL(查询)、DCL(控制)
1、DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROp ALTER
2、DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
3、DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
4、DQL语句 数据库操纵语言:查询数据SELECT
mysql数据库管理软件,记录事物一些数据特征:
由库,表,记录组成.
库相当于一个文件夹
表相当于一个文件
记录就是文件里面一条一条的内容
表中的成员属性就是一个一个字段
可以为每个项目建立一个数据库
关系型数据库:表与表之间有联系
比如:mysql,oracle,db2,sqlserver
非关系型数据库: key-value 键值对形式 没有表的概念
比如:redis,mongodb,memcache
一、mysql基本操作
1、登陆mysql
完整语法:
mysql -u(用户) -p(密码) -h(IP) -P(端口)
例:
mysql -u root -p
运行结果:
2、查询当前用户
语法:
select user();
3、设置密码
语法:
set password = password(密码)
4、给具体某个ip设置账号密码,用来访问数据库
语法:
create user '用户名'@'IP地址' identified by '密码';
#刷新权限,立刻生效
flush privileges;
从10.211.55.10登陆:
5、给具体某个网段下所有IP设置共同账号密码,用来访问数据库
语法:
create user '用户名'@'地址段最后一段替换为%' identified by '密码';
flush privileges;
从同地址段机器访问:
6、创建账号密码允许所有IP地址访问数据库
create user '用户名'@'%' identified by '密码';
flush privileges;
从其他机器访问:
7、查看ip具体权限:
show grants for '用户名'@'地址';
USAGE表示没有任何权限
8、赋予用户权限
grant 权限 on 库名.表名 to '用户名'@'地址' identfied by '密码' ;
flush privileges;
查看用户权限:
9、移除用户权限
revoke 权限 on 库名.表名 from '用户名'@'地址';
flush privileges;
10、删除用户
语法:
drop user '用户名'@'地址';
二、mysql的增删改查
1、库操作
1)增
语法:
create databases 库名;
2)查
语法:
show databases;
查看建立数据库的语句:
show create database 库名;
3)改
语法:以更改库编码为例
alter database 库名 charset 编码
4)删
语法:
drop database 库名;
2、表操作
先使用use+库名 转换数据库
1)增
语法:
create table 表名(表头1 类型,表头2 类型);
运行结果:
2)查
查看所有表
show tables;
查看建表语句:
show create table 表名;
查看表结构:
desc 表名
3)改
modify 只能改变数据类型
alter table 表名 modify name char(5);
change 连字段名+类型一起更改
alter table 表名 change 表头名 新表头名 类型
add 添加表头信息
alter table 表名 add 新表头 类型
drop 删除表头信息,column表示列
alter table 表名 drop column 要删除的表头信息
rename 更改表名
alter table 表名 rename 新表名;
4)删
语法:
drop 表名
3、数据操作
1)增
一次插入一条数据:
insert into t1(表头1,表头2) values(值1,值2);
一次插入多条数据:
insert into 表名(表头1,表头2) values(值1,值2),(值3,值4)...
不指定具体字段插入:
insert into 表名 values(值1,值2);
指定单个字段插入数据:
insert into 表名(表头1) values(值1);
2)查
查询表所有信息:
select * from 表名;
指定字段进行查询:
select 字段 from 表名;
3)改
update 表名 set name="要改的名" where 过滤条件;
注:务必加上过滤条件,否则会更改表内所有数据
4)删
delete from 表名 where 过滤条件;
三、常用数据类型
1、整型:
tinyint 1个字节 有符号(-128~127) 无符号(unsigned) 小整型值
int 4个字节 有符号(-21亿~21亿 左右) 无符号(unsigned) 大整型值
2、浮点型:
float 单精度
double 双精度
decimal 金钱类型,使用字符串形式保存小数
float默认保存五位,double默认保存16位,decimal默认保留整数,存在四舍五入
指定长度,如float(5,2)表示小数位加整数位一共五个字符,超出报错
3、字符串
char 字符长度255
varchar 字符长度21845
char(11) 定长:固定开辟11个长度的字符空间(常用在手机号、身份证、银行卡等)
varchar(11) 变长:最多开辟11个字符长度空间(常用在评论、地址等)
text 文本类型,存文档、小说等
拼接concat
可用concat实现字段拼接
4、mysql中函数
枚举与集合
enum 枚举:从列出来的数据中选取一个
set 集合:从列出来的数据中选取多个