设为首页 收藏本站
查看: 770|回复: 0

[经验分享] mysql 数据库的基本操作1-Erstickt的博客

[复制链接]

尚未签到

发表于 2018-10-5 14:11:01 | 显示全部楼层 |阅读模式
  mysql数据库管理 day01
  相关概念问题
  数据库介绍? 存储数据的仓库
  数据库服务都那些公司在使用?
  购物网站    游戏网站      金融网站
  数据服务存储的是什么数据?
  帐号信息   对应的数据信息
  提供数据库服务的软件有那些?
  开源软件  mysql 、  mongodb  、  redis
  商业软件  oracle 、 db2  、 SQL  SERVER
  软件是否跨平台? Linux    Unix     Windows
  软件包的来源: 官网下载      使用操作系统安装光盘自带软件包
  mysql软件介绍?    mysql   mariadb
  关系型数据型软件: 要按照一定组织结构存储数据,并且数据和数据之间可以互相关联操作。
  跨平台 Linux    Unix     Windows
  可移植性强
  支持多种语言Python/Java/Perl/PHP
  生产环境中,数据服务和网站服务一起使用 构建网站运行平台
  LNMP    LAMP   WNMP    WAMP
  mysql软件包的封包类型: rpm包     源码包   可以自定义安装信息
  非关系型数据库软件(NoSQL)mongodb  、
  redis 、 memcached
  1  搭建mysql数据库服务器
  2  mysql服务基本使用
  3 mysql数据类型
  一、搭建mysql数据库服务器 192.168.4.51
  装包
  修改配置文件
  启动服务
  查看服务进程和端口号
  服务名  mysqld
  服务的主配置文件  /etc/my.cnf
  数据目录  /var/lib/mysql
  日志文件   /var/log/mysqld.log
  二、数据库服务的基本使用
  2.1 使用初始密码在本机连接数据库服务
  mysql   [-h数据库服务器ip地址   -u用户名    -p'密码'

  2.2 重置本机连接密码 mysql>>
  root@"localhost" >  2.3 把数据存储到数据库服务器上的过程?
  2.4 sql命令分类? DDL   DML    DTL    DCL
  2.5 sql命令使用规则?
  2.6 管理数据库的sql命令 及 库名的命名规则
  2.7 管理表的 sql命令
  建表的语法格式?
  create   table  库名.表名(
  字段名   类型(宽度)  约束条件,
  字段名   类型(宽度)  约束条件,
  .....
  );
  2.8  管理记录的sql命令
  查看
  插入
  更新
  删除
  +++++++++++++++++++++++++
  三、mysql数据类型
  3.1  数值类型   (成绩  年龄   工资  )
  每种类型的存储数据的范围都是固定
  整数类型 (只能存储整数)
  微小整型    小整型         中整型                   大整型    极大整型
  tinyint      smallint      MEDIUMINT        INT        bigint
  *****unsigned    使用数值类型有符号的范围。
  浮点型 (存储小数)
  float(M,N)
  double(M,N)
  M  设置总位数
  N   设置小数位位数
  正数.小数          总位数   整数位    小数位
  18088.88            7           5             2
  3.2  字符类型   (商品名称   籍贯   姓名   生产厂家)
  char  (255)   固定长度字符类型
  varchar (65532)   变长字符类型
  大文本类型 (音频文件 视频文件  图片文件)
  blob
  text
  3.3 日期时间类型
  (注册时间    约会时间   开会时间   入职时间   生日)
  年       year   YYYY                 2018
  日期   date   YYYYMMDD     20180423
  时间   time   HHMMSS          161958
  日期时间 datetime/timestamp
  YYYYMMDDHHMMSS     20180423161958
  获取日期时间给对应的日期时间类型的字段赋值
  获取日期时间函数
  now() 获取当期系统的时间
  year(日期时间)获取指定时间中的年
  month(日期时间)获取指定时间中的月
  date(日期时间)获取指定时间中的日期
  day(日期时间)获取指定时间中的号(天)
  time(日期时间)获取指定时间中的时间
  可以使用2位数字给year类型的字段赋值,规律如下:
  01-69   20XX
  70-99   19XX
  3.4 枚举类型(插入记录 时 记录的值 在列举的范围内选择)
  性别    爱好    专业
  enum(值列表)       单选
  set(值列表)            多选
  数据类型的关键字   存储范围  赋值方式  合理使用数据类型
  **划重点
  数值类型的宽度 是显示宽度,不能够给字段赋值的大小。字段的值由类型决
  定。
  mysql-day02
  一 、字段约束条件
  1.1  作用: 限制如何给字段赋值的
  1.2  包括内容有:  NULL    Key    Default     Extra
  NULL  是否允许给字段赋null值
  null           默认允许赋null值
  not  null   不允许赋null值
  key     键值类型:普通索引   唯一索引  全文索引  主键  外 键
  Default 默认值 作用:当不被字段赋值时,使用默认值给字段赋值
  不设置默认值是  系统定义的是null
  default   值
  Extra    额外设置  ,字段是否设置为自动增加,默认没有自动增长功能
  二、修改表结构
  2.1 修改表结构的命令

  mysql> >  添加新字段      add   字段名    类型(宽度)  [ 约束条件]
  删除已有字段  drop   字段名
  修改已有字段的类型宽度及约束条件
  *划重点**  修改时不能与已经存储的数据矛盾的话不允许修改
  modify   字段名    类型(宽度)  [ 约束条件]
  修改字段名
  change   源字段名   新字段名   类型(宽度)  [ 约束条件]
  修改表名
  alter  table  源表名  rename   [to]   新表名;
  三、mysql键值
  设置在表中字段上的,作用是约束如何给字段赋值。同时会给字段做索引。
  索引介绍: 树状目录结构  类似与书的“目录”
  优点:加快查询表记录的速度
  缺点 : 会减慢编辑表记录的速度,且占用磁盘的物理存储空间
  (delete  insert   update)
  字典  总页面数  1000页
  目录信息
  1------100页     记录目录信息
  101---1000页   正文
  查字典的方法
  笔画
  部首
  拼音
  修正内容时,修改内容 添加内容  删除内容
  stuinfo   /var/lib/mysql/db2/stuinfo.*

  name   age   home  >  DBA
  3.1 键值:普通索引   唯一索引  全文索引  主键  外 键
  3.1.1普通索引的使用(index)
  使用规则?
  查看
  desc  表名;
  show   index  from   表名;
  Table: t2
  Key_name: aaa
  Column_name: age
  Index_type: BTREE  (二叉树)
  创建
  在已有表创建
  create   index   索引名  on   表名(字段名);
  建表是时创建
  create  table  表名(
  字段列表,
  index(字段名),
  index(字段名),
  );
  删除
  drop   index   索引名  on   表名;
  +++++++++++++++++++++++++++++++
  3.1.2主键 primary   key
  (普通主键    复合主键    主键+auto_increment)
  使用规则?
  查看   desc   表;  key ----> PRI
  创建

  在已有表创建    >  建表时创建
  create  table  表名(
  字段列表,
  primary  key(字段名)
  );
  创建复合主键的使用:多个字段一起做主键,插入记录时,只要做主键字段的值不同时重复,就可以插入记录。(必须一起创建一起删除,多个字段的值不允许同时相同)
  desc  mysql.db;
  desc  mysql.user;
  主键primary  key  通常和auto_increment连用。
  让字段的值自动增长  i++
  数值类型               i=i+1

  删除主键   mysql> >  ++++++++++++++++++++++++++++++++++++++
  3.1.3外 键(作用 限制如何给字段赋值的)
  给当前表中字段赋值时,值只能在指定(其他)表的指定字段值的范围里选择。
  使用规则?
  创建外键 foreign  key 的命令格式:
  create   table   表(
  字段名列表,
  foreign  key(字段名)   references  表名(字段名)
  on  update cascade    on  delete  cascade
  )engine=innodb;
  缴费表
  use studb;
  create  table  jfb(
  jfb_id    int(2)   zerofill  primary key  auto_increment,
  name   char(15),
  pay   float(7,2)
  )engine=innodb;
  insert into  jfb (name,pay)values("bob",26800);
  insert into  jfb (name,pay)values("tom",26000);
  select  *  from  jfb;
  班级表
  create  table  bjb(
  bjb_id   int(2) zerofill,
  name   char(15),
  foreign  key(bjb_id)   references  jfb(jfb_id)
  on  update cascade    on  delete  cascade
  )engine=innodb;
  insert  into   bjb values(3,"lucy");
  insert  into   bjb values(1,"bzengjiaob");
  insert  into   bjb values(2,"tom");
  select  * from bjb;
  mysql> update  jfb set jfb_id=9 where name="bob";
  mysql> delete from jfb where jfb_id=2;
  select   from jfb;
  select   from bjb;
  查看  mysql> show create table 表名;
  删除外键
  alter  table  表名  drop  foreign key  外键名;
  alter  table  bjb  drop  foreign key  bjb_ibfk_1;
  mysql> delete from jfb where jfb_id=02;  他有同步的作用 班级表也没有这一条
  mysql> update jfb set name="xixi"where jfb_id=05;  修改缴费表ID是05 把他的名字改成xixi
  在已有表创建
  mysql> delete from bjb;

  mysql>>  (jfb_id)  on  update cascade    on  delete  cascade;


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-612735-1-1.html 上篇帖子: MySQL5.7杀手级新特性:GTID原理与实战 下篇帖子: Mysql slow query log-Jarvis
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表