mysql数据库知识点

数据库

大小:
大型: oracle, db2
中小型:sql serve, mysql, redis, mongodb

关系型和非关系型:

关系型数据库(NoSQL):mysql, oracale, sql server
非关系型数据库:redis, mongodb

甲骨文: oracle, mysql
微软: sql server

Linux下安装

sudo apt install mysql-server mysql-client 安装5.7版本
sudo ps -aux |grep mysql 查看数据库是否正在运行
sudo service mysql stop 关闭数据库服务
sudo service mysql start 开启数据库服务
关于Ubuntu18.04安装mysql8.0 数据库的问题

参考:https://blog.csdn.net/li761747705/article/details/80409411

进入

命令窗口终端:
mysql -u用户名 -p密码
mysql -uroot -p 直接进入终端
quit 退出
sudo cat /etc/mysql/debian.cnf
尝试使用配置文件的用户名或者密码进行登录
在这里插入图片描述
mysql -uuser -ppassword

简单命令

show databases; 显示存在的数据库
use mysql; 使用数据库
show tables; 显示数据表
select * from user; 显示user表中的所有数据
select Host,User from user; 从表user中选取Host User数据
update user set authentication_string=PASSWORD(‘root’) where User=‘debian-sys-maint’; 修改数据库密码
update user set plugin=“mysql_native_password”; 必须要加否则修改不成功
flush privileges; 刷新
exit

用户操作

用户创建:
CREATE USER ‘username’@‘localhost’ IDENTIFIED BY ‘password’;
授权:(单独授权)
GRANT privileges ON databasename.tablename TO ‘username’@‘localhost’
说明:
privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
databasename:数据库名
tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*
创建用户同时授权:(建议使用)#mysql8.0下不能用
grant all privileges on . to test@localhost identified by ‘1234’; #mysql 8不能用
回收权限:
REVOKE privilege ON databasename.tablename FROM ‘username’@‘host’;
删除用户:
DROP USER ‘username’@‘host’;

数据库语言

数据定义语言DDL (create、drop)
数据操作语言DML(insert、delete、update)
数据查询语言DQL(select、where、group by、order by 、limit)
数据控制语言DCL(grant、revoke)
事务处理语言TPL(commit、rollback)

操作数据库

mysql     数据库:database        表:table        字段:(列名)
创建数据库:
create database  数据库名字;
删除数据库:
drop database 数据库名字;
查看数据库:
show databases;
切换数据库:
use databasename;

操作表

create 创建
Create table 表名(列名 数据类型 [约束],列名 数据类型 [约束],列名 数据类型 [约束]);
常用的数据类型: 整型: int smallint tinyint
tinyint 1字节      int 4字节 浮点型: float double decimal(5,1)
字符型: char varchar char(5) ---→ A —— —— —— —— 固定长度
varchar(5) ---→ ABCDE --→ 不定长 len只是表示的是最大的长度
text 长文本数据类型
blob 二进制的文本
日期时间:date     time     datetime
特例: 枚举: enum(‘男’,’女’)
删除表: drop table 表名;
查看表结构: desc 表名;
查看建表的语句: show create table表名;
 
alter 修改表结构
alter 修改表结构:
添加字段: alter table 表名 add [column] 字段名 数据类型 [约束]
删除字段:
alter table 表名 drop 字段名
添加数据:
select * from student;
insert into student(id,name,age,phone) values(101,'吴邪',19,'15899001234')
alter table student add gender char(4) not null; #对于设置不能为null,字符串默认设置为空字符串,int默认为0 修改字段的名称和类型
alter table student change phone tel varchar(12);
alter table student change phone phone varchar(11); 修改字段类型的一种方法
修改字段的类型
alter table 表名 modify 字段名 新的数据类型 [约束];
alter table student modify tel char(11);

操作数据

修改数据
update 表名 set 字段名=新值;—>更新该字段下
update student set age=18 #把所有age全改了
update student set age=19 where id=3;
update student set age=20 where id=1 or id=5;
update student set age=age+1 where id>=2;
update student set age=20 where id in (2,4,5,8,10)
update student set age=20 where id>=50 and id<=70;
update student set age=20 where id between 50 and 70;
update student set age=age+1,name=‘laowang’ where id=4;

删除数据:
delete from 表名 where 条件
delete from student where id=4;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值