数据库介绍学习

在Linux系统中的数据库操作:
啥叫数据库?管理数据
数据库主流产品:oracle,access,sqlLite,mysql,db2,sql server
今天的目标:mysql
----------------------------------------------------------
uBuntu系统安装步骤:
1.更新一下软件库
【sudo  apt-get  update】
2.下载并安装mysql
【sudo  apt-get  install  mysql-server】
3.检测一下安装结果以及是否启动成功
【ps  -ef|grep  mysql】:ps  -ef 是查询任务管理器,grep用来搜索mysql是否启动了
----------------------------------------------------------
数据库由两部分组成:服务端和客户端
对数据的增删改查需要通过客户端:mysql自带了一个,第三方有Sqlyong,Navicat
----------------------------------------------------------
登录数据库
【sudo  mysql  -uroot  -p】:默认root密码是空的,直接敲回车就行
  看到“Welcome to the MySQL monitor” 就成功了
修改root密码
【alter  user  'root'@'localhost'  identified  by  '新密码';】:必须以英文分号结尾,表示结束
创建新用户
【create  user  用户名@localhost  identified   by  '新密码';】
验证新密码
【exit】:退出数据库
【sudo  mysql  -uroot  -p】:重新登录
【sudo  mysql  -u新用户  -p】:使用新创建的用户登录
删除某个用户(root来删除)
【drop   user  用户名@localhost;】
----------------------------------------------------------
进入数据库之后:
【show  databases;】:查看目前所有的数据库名称
【use  某个库名;】:进入这个数据库,会提示(DataBase Changed)
【show  tables;】:查看当前这个数据库里面有多少张表
【select  *  from  某个表名;】:查看这张表里面的详细数据
【\c】:中断当前操作
【\q】:退出mysql,等同于 exit命令
----------------------------------------------------------
新建数据库:
【create  database  数据库名;】
进入数据库:
【use  数据库名;】
建立数据表:
【create  table  表名(字段1  类型,字段2  类型)】
例如:
【create table classes(
    id int primary key auto_increment,name varchar(10) not null,room varchar(10),
    date datetime);
  】
关键字说明:
【auto_increment】:每次插入数据的时候,自动递增1
【primary key】:主键,不能重复且不能为空的,也只能给一个字段加
【not  null】:不能为空
数据类型选型:
  int(整数),smallint(小型整数),float(浮点数),decimal(货币),blob(二进制数据)
  varchar(长度可变文本),char(固定长度文本),text(长文本)
  bit(0和1的两种结果),date(日期),time(时间),datetime(日期时间)
删除数据表:
【drop  table  表名;】
删除数据库:
【drop  database  数据库名;】
查看表结构:
【desc  表名;】
--------------------------------------------------
插入数据:
【insert   into  表名(字段1,字段2,字段3)values(值1,值2,值3)】:字段1和值1对应,后面以此类推
例如:
【insert into classes(id,room,name)values(2,'102室','网安300期');】
【insert into classes(id,name,room,date)values(1,'物联网101期','10室','2024-01-06 09:00:00');】
有auto_increment的表,就不要自己去存id了
【insert into student(name,age,sex,phone)values('小三儿',20,0,'18272828192');】
一次存多条数据:
【insert into teacher(name,age,sex,phone) values ('龚老师',34,1,'23123'),('王老三',28,1,'129281812'),('马老师',50,0,'192829191');】
查询是否存储成功:
【select  * from  表名;】:查询这个表里的全部数据
删除数据:
【delete  from  表名;】:清空表数据
【delete  from  表名  where  条件1   and  条件2;】按条件进行有选择的删除
例如:
【delete  from  student  where  age<18;】:删除小于18岁的学生
【delete  from  student  where  sex=0;】:删除所有女学生
【delete  from  student  where  name!='张三';】:删除除了张三以外的其他人
【delete  from  student  where  sex=0  and  age>50;】:删除大于50岁的女学生
【delete  from  classes   where  date<'2024-01-01'】:删除2024年之前的班级信息
修改数据:
【update  表名  set  列名=新值;】批量更新
【update  表名  set  列名=新值  where  条件1  and  条件;】: 按条件进行更新
例如:
【update  teacher  set sex=1  where name='马老师';】将马老师性别改成男
【update  classes   set date='2024-01-01 00:00:00',room='101室' where date is null;】
  将原本date为空的那些数据,date字段设置为2024年1月1日,同时room字段改为101室
is null :表示为空,其它数据都用 = 来判断
is not null:表示不为空,其它数据都用 !=来判断

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值