您的位置:68399皇家赌场 > 虚拟主机 > mysql数据库的着力使用命令总结

mysql数据库的着力使用命令总结

发布时间:2019-05-02 19:27编辑:虚拟主机浏览(74)

      2)修改
      update 表名 set 列1=值1,列2=值2... where 条件;

    | high  | decimal(5,2)                        | YES  |    | NULL    |                |

     

    Mysql数据库基础知识,mysql基础知识

    E-悍马H二模型(实体关系模型)

    • 当下物理的数据库都以奉公守法E-Enclave模型进行设计的
    • E表示entry,实体
    • R表示relationship,关系
    • 2个实体调换为数据库中的二个表
    • 涉嫌描述多个实体之间的对应规则,包蕴
      • 一对一
      • 一对多
      • 多对多
    • 事关转移为数据库表中的3个列 *在关系型数据库中壹行正是3个目的

       

    数据引擎

    MyISAM和InnoDB的区别

    三范式

    • 经过研商和对使用中难题的下结论,对于规划数据库提议了有的标准,这么些标准被号称范式
    • 第二范式(一NF):列不可拆分
    • 其次范式(二NF):唯一标记
    • 其3范式(三NF):引用主键
    • 证实:后一个范式,都是在前3个范式的底蕴上确立的

       

    字段类型

    • 在mysql中富含的数据类型大多,这里最首要列出来常用的二种
    • 数字:int,decimal
    • 字符串:
      • char(八):不可变,不够九个在右手补空格,
      • varchar(捌):可变,不够玖个的话,该是多少个就多少个,
      • text
    • 日期:datetime
    • 布尔:
      • bit(1): 0,1
      • bit(2): 00, 01, 10, 11
      • bit(3): 001, 010, 100,......   

    约束

    • 主键primary key
    • 非空not null
    • 惟一unique
    • 默认default
    • 外键foreign key

       

    远程连接

    • 一般在商家付出中,恐怕会将数据库统1搭建在壹台服务器上,全体开拓职员共用1个数据库,而不是在谐和的计算机中安顿2个数据库
    • 运作命令
    • mysql -hip地址 -uroot -p

       

    数据库

    • 开创数据库
      • create database test character utf8 collate utf8_general_ci;
    • 剔除数据库
      • drop database 数据库名;
    • 切换数据库

      • use 数据库名;

         

    数据表

    • 开创数据表
      • create table create_test(
      • id int(11) auto_increment primary key not null,
      • name varchar(20) not null,
      • birthday datetime,
      • gender bit default 0,
      • isDelete bit default 0
      • ) engine=InnoDB default charset=utf8;

       

    • 修改表

      alter table 表名 add|change|drop 列名 类型;
      如:
      alter table students add birthday datetime;

    • 删除表

      drop table 表名;

    • 查看表结构

      desc 表名;

    • 退换表名称

      rename table 原表名 to 新表名;

    • 查看表的创立语句

      show create table '表名';

         

    多少操作

    • 查询

      select * from 表名

    • 增加

      全列插入:insert into 表名 values(...)
      缺省插队:insert into 表名(列一,...) values(值一,...)
      再正是插入多条数据:insert into 表名 values(...),(...)...;
      或insert into 表名(列1,...) values(值1,...),(值1,...)...;

    • 主键列是机动增加,可是在全列插入时须求占位,平常使用0,插入成功后以实际数目为准

    • 修改

      update 表名 set 列1=值1,... where 条件

    • 删除

      delete from 表名 where 条件

    • 逻辑删除,本质正是修改操作update

      alter table students add isdelete bit default 0;
      尽管急需删除则
      update students isdelete=1 where ...;

         

    清空表

    -- 清空全体数额,不写日记,不可苏醒,速度非常快

    truncate table 表名;

    -- 清空全体数目,写日记,数据可复原,速度慢

    delete from 表名

       

    翻看字符集

    show variables like '%char%';

       

    数据备份

    • 进入特级管理员

      sudo -s

    • 进入mysql库目录

      cd /var/lib/mysql

    • 运行mysqldump命令

      mysqldump –uroot –p 数据库名 > ~/Desktop/备份文件.sql;
      按提示输入mysql的密码

    数据苏醒

    • 连天mysqk,创立数据库
    • 退出连接,施行如下命令

      mysql -uroot –p 数据库名 < ~/Desktop/备份文件.sql
      基于提示输入mysql密码

         

    数量查询(where中的优先级)

    • 小括号,not,相比较运算符,逻辑运算符
    • and比or先运算,尽管还要现身并期望先算or,须要结合()使用   

    数量查询(where和having 的差别)

    • where是对from前面钦赐的表张开数量筛选,属于对原来数据的筛选
    • having是对group by的结果开始展览筛选,属于对分组数据的筛选

       

    数码聚合操作

    • select count(*) from students;
    • select max(id) from students where gender=0;
    • select min(id) from students where isdelete=0;
    • select sum(id) from students where gender=1;
    • select avg(id) from students where isdelete=0 and gender=0;

       

    多少分组

    • select gender as 性别,count(*) from students group by gender having gender=1;   

    排序

    • select * from 表名 order by 列1 asc|desc,列2 asc|desc,...   

    删去重复行

    • select distinct * from ...   

    外键的安装

    • 在创造表时能够一向开立约束

      create table scores(
      id int primary key auto_increment,
      stuid int,
      subid int,
      score decimal(5,2),
      foreign key(stuid) references students(id) on delete cascade,
      foreign key(subid) references subjects(id) on delete cascade
      );

         

    • 也足以在创设好数据表后单独创立外键约束

      alter table scores add constraint stu_sco foreign key(stuid) references students(id) on delete cascade;

         

    • 级联操作的等级次序蕴涵:

      • restrict(限制):默认值,抛异常
      • cascade(级联):借使主表的记录删掉,则从表中相关联的记录都将被剔除
      • set null:将外键设置为空
      • no action:什么都不做   
    • 集团中一般会在主表中创建逻辑删除字段(isDelete).

         

    连表查询

    select students.sname,subjects.stitle,scores.score
    from scores inner join students on scores.stuid=students.id;

    注:inner join ...on...左右的标识无所谓顺序,读取四个表的上上下下字段

    left join...on... 和 right join...on... 查询个中多少个的任何数量字段,另贰个未有也无全部,null填充

    E-汉兰达模型(实体关系模型) 当前物理的数据库都以鲁人持竿 E-奥德赛 模型实行设计的 E 表示 entry ,实体 福睿斯 表示 re...

     一) 修改表-增添字段 kouhao (班级口号)
         alter table 表名 add 列名 类型及约束;
         alter table t_classes add kouhao varchar(20) not null default '人生苦短,小编用Python';

            -- 物理删除

     

     1.物理删除 #剔除后不足恢复生机
     delete from 表名 where 条件
     delete from t_students where id=4;

        -- update 表名 set 列1=值1,列2=值2... where 条件;

            -- 全列插入

      3)查询
     
     一.询问全体列
     select * from 表名;
     select * from t_students;

    -------- ------------------------------------- ------ ----- --------- ----------------

        select now();

    mysql 数据库的操作

      drop database python01;

            -- 多行插入

       
      脱离数据库
         
     ctrl l:清除命令显示屏
      
     quitexit

            select name,gender from students;

        create table 表名(id int unsigned auto_increment primary key,name varchar(30) not null,age int unsigned);

     主键:特殊字段,用来唯1标志记录的唯1性
     字段:数据列
     记录:数据行
     数据表:数据行的汇聚
     数据库:数据表的集中

            select * from students where id=1;

        -- alter table 表名 change 原名 新名 类型及约束;

    五.翻看创造数据库的说话: show create database 库名
      查看创制表的话语:  show create table 表名

    id int unsigned not null primary key auto_increment,

     

      1)增加

            -- 全列插入

        -- sql语句最终索要有分集团;结尾

    mysql数据库是3个常用的关系型数据库

        -- alter table 表名 modify 列名 类型及约束;

     

     三.按规则修改八个值
     update students set gender ="",name = "xxx" ;
     update  t_students set height=165.60,gender=1 where id=3;

        -- 删除数据库

        -- 显示数据库版本 version

    肆. 1)制造表要求采用的数据类型:
     整数:  int,bit  #int unsigned:无符号整形  #tinyint unsigned:无符号整形(但范围相当小,一般用于年龄)  #.bit是位数据类型,长度为一字节;int 是整型;bit 实际便是bool类型,只好是0和1,int的是两个字节的整型
     小数:  decimal   #decimal(伍,二)表示伍人数字,两位小数点
     字符串: varchar,char  #varchar:可变字符串
     日期时间:  date, time, datetime
     枚举类型: enum
     主键:  primary key
     自动增加(增添): atuo_increment
     默认值: default
     无法为空: not null
     外键:  foreign key
    in
       2)表格式:create table 数据表名字(id 无符号整形 主键 自动增加(扩张) 不可能为空; name 可变字符串(数字/范围) 私下认可值'';age 无符号整形 私下认可值0;height 小数;gender 枚举 暗中认可值;foreign key 无符号整形 默许值);
         例如:create table t_students(id int unsigned primary key auto_increment not null,name varchar(10) default '',age tinyint unsigned default 0,height decimal(5,2),gender enum('男','女','中性','保密') default '保密',cls_id int unsigned default 0);

    alter table classes modify jixiangwu varchar(30) default "一个杰出";

        -- int unsigned 无符号整形

     

    insert into students values(1,"班主任",18,166.66,"女",111);

     

     二.点名条件查询
     select * from t_students where name='李白';

        use python01;

            -- 全体修改

     如:向students表插入二个学员音讯(id,name,age,height,gender,cls_id)
     insert t_students values(null,'大乔',23,165.12,'男',1);
        
     insert t_students values(null,'李白',23,180.12,'女',1);

        -- 查看当前数据库中全体表

        -- 增加

     3) 修改表-修改字段:不重命名版
         alter table 表名 modify 列名 类型及约束;
         alter table t_classes modify logo varchar(20) not null default '人生苦短,小编用Python';   

            age int

     

    8.数据的增加和删除改查(curd)
      curd的分解: 代表创造(Create)、更新(Update)、读取(Retrieve)和删除(Delete)

        select database();

        -- alter table 表名 add 列名 类型;

     
      不显得密码连接
      
     python@ubuntu:~/Desktop$ mysql -u root -p
      
     Enter password: mysql  

    select now();

        -- 查看表结构

     3.多行插入
     insert into 表名(name,gender) values("小张1",1),("小张2",2);
     insert into t_students(name,gender) values('小王',2),('大王',3);

            ---定条件查询

        quit/exit ctrl d

     

    ------- ------------------ ------ ----- --------- ----------------

        show databases;

     安装:sudo apt-get install mysql-server
     启动:sudo service mysql start
     # 查看进度中是或不是存在mysql服务 ps ajx|grep mysql
     停止:sudo service mysql stop
     重启:sudo service mysql restart

    cls_id int

       use 数据库的名字

     

    );

     

     
      
    1.两次三番数据库
      
     mysql -u root -pmysql

        -- 查看全体数据库

            -- 给students表增添二个 is_delete 字段 bit 类型

    安装、运营、甘休、重启mysql服务器的下令

    --0① mysql 数据库的操作

            -- 按规则修改七个值

      4)删除

    -- 按原则修改

            -- 按标准修改

     1.全列插入
     insert [into] 表名 values(...)   #into可用可不要
     主键字段 能够用 0  null   default 来占位
     如:向classes表中插入 3个班级
     insert into t_classes values(0,'python02');
       
     insert into t_classes values(0,'python01');

    update students set gender="中性",name = "金星" where id=5;

        -- 展现时间 now

    6.选用数据库:  use 数据库名
      删除数据库:  drop database 数据库名
      删除表:  drop table 表名
      删除表--删除字段(列)alter table 表名 drop 列名

    high decimal(5,2),

        -- 修改表-删除字段  *

    关系型数据库主旨要素有哪些?

        -- 修改表-增添字段 mascot (吉祥物)

        -- auto_increment 表示自动拉长

     二) 修改表-修改字段:重命名版
         alter table 表名 change 原名 新名 类型及约束;
         alter table t_classes change kouhao logo varchar(20);

        -- drop database 数据库;

        -- 修改表-修改字段:重命名版  ***

    二.创设数据库
     create database 数据库名 charset=utf八;
     ### 创制数据库时确定要记得消除编码问题

        -- default 默认值

        -- 删除表

     

    | id    | int(10) unsigned | NO  | PRI | NULL    | auto_increment |

            -- insert [into] 表名(字段名) values(值)

     二.按标准修改
     update t_students set gender='女' where id=1;

            select gender as "性别",name as "姓名" from students;

        alter table classes change mascot jxw varchar(30);

     3.查询钦赐列
     select 列1,列2,... from 表名;
     select name,age from t_students;

    | Field  | Type                                | Null | Key | Default | Extra          |

        desc 数据表的名字;

    叁.查看当前利用的数据库: select database();
      查看所以数据库:  show databases;
      查看当前数据库中全部表: show tabes;
      查看当前表中颇具的列: select * from 表名;
      查看表结构:   desc 表名;

    alter table classes change jixiangwu mascot varchar(20) default "蛇";

        show create table 表名字;

     二.局地安排
     insert into 表名(列1,...) values(值1,...)
     insert into t_students(name,gender) values ('张飞',1); #这里张翼德前边的壹是开创表时,列表性别列对象的枚举参数顺序

        -- 使用数据库

            -- delete from 表名 where 条件;

     二.逻辑删除 #对要刨除的目的做标志,可复原(用3个字段来表示 那条信息是或不是已经不可能再使用了)
     需求给students表增加三个 isdelete 字段 bit 类型才具举办逻辑删除
     isdelete=一 正是意味删除标识;is_delete=0 就是恢复 #用2进制0和1意味着
     update t_students set isdelete=1 where id=5 ;

    show databases;

            update students set name = "王五"

    柒.表的修改:

            -- 查询钦定列

        alter table classes drop jxw;

    本文由68399皇家赌场发布于虚拟主机,转载请注明出处:mysql数据库的着力使用命令总结

    关键词: 68399皇家赌场 日记本 python操...