您的位置:新葡亰496net > 网络数据库 > 新葡亰496net:初学MySQL根底知识笔记,mysql数据库

新葡亰496net:初学MySQL根底知识笔记,mysql数据库

发布时间:2019-12-10 14:09编辑:网络数据库浏览(196)

    在ubuntu系统中操作命令:
    登录:mysql -uroot -p
    启动:service mysql start
    停止:service mysql stop
    重启:service mysql restart

    --01 mysql 数据库的操作

      自身初入今日头条,第叁遍写博客,在这里后的时间里会一丝丝的增加协和博客的程度,以致博客的制版等。

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

    创办数据库:create database 数据库名字 charset = utf8;
    剔除数据库:drop database 数据库名字;
    翻看全体数据库:show databases;
    利用数据库:use 数据库名字;
    查阅当前接受的数据库:select database(卡塔尔(英语:State of Qatar);
    改动数据库密码:update mysql.user set authentication_string=password('root') where user='root';

        -- 链接数据库

      在明日,作者上学了须臾间MySQL数据库的基本知识,相信关于MySQL的质地网络会有过多,所以自个儿就不在这里复制粘贴了,在此边留下一些本身在初学MySQL时的有的笔记,以供有须要的同学来参照他事他说加以考察。以下内容绝无复制,仅仅是博主本人的片段总括。

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

     

    mysql -uroot -pmysql

      字段类型

    • 数字:int,decimal(小数)

      eg:decimal(5,2):生龙活虎共包涵5位数,小数部分有2位

    • 字符:char(存的字符是长久的),varchar(存的字符是可变的),text(大文本)

      eg:char(8)8个字符,不足补空格,varchar(8)自动截取

    • 日期:datatime
    • 布尔:bit

      eg:bit(8)表示存了8个二进制位,不写则暗中同意三个

     

     主键:特殊字段,用来唯豆蔻梢头标志记录的唯黄金年代性
     字段:数据列
     记录:数据行
     数据表:数据行的集合
     数据库:数据表的聚众

    建表命令:
    create table 表名(列。。。);
    唯风姿罗曼蒂克的标志(主键卡塔尔(قطر‎:id,
    类型:int unsigned,
    约束1:not null,
    约束2:auto_increment,
    约束3:primary key
    列的格式:列的名字,类型,约束
    如:
    create table students(
    id int auto_increment primary key not null,
    name varchar(10),
    gender bit default 1,
    birthday datetime,
    isDelete bit default 0
    );

    -- 不显得密码

       约束

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

     

      终端(以分行结尾)

    • 极端连接服务器 mysql -uroot -p
    • 推出mysql:exit,quit,ctrl c
    • 翻开版本:select version(卡塔尔国;
    • 来妥贴前时刻:select now(卡塔尔(英语:State of Qatar);
    • 链接远程服务器:mysql -hip地址 -uroot -p

       (若改进端口,在末端写出,若没改,是本来的3306则不用管卡塔尔(قطر‎

    -h 后面写要连接的主机地址
    -u 后面写要连接的主机名
    -p 回车后写密码

     

    设置、运维、结束、重启mysql服务器的吩咐

    翻开全数表:show tables;
    查看表布局:desc 表名;
    修改表:alter table 表名 add|modify|drop 列名 类型 约束;
    alter table students modify column isDelete bit not null default 0;
    改过表名:rename table 原表名 to 新表名;
    删除表:drop table 表名;
    查看表的创建语句:show create table '表名';

    mysql -uroot -p

      数据库操作

    • 创设数据库:create database 数据库名 charset=utf8;
    • 删去数据库:drop database 数据库名;
    • 切换数据库:use 数据库名;
    • 查阅当前增选的数据库:select database(卡塔尔(英语:State of Qatar);
    • 显示现存数据库:show databases;
    • 查看数据库中有如何表:show tables;

     

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

    增加数量:insert into table 表名(列名卡塔尔国 values(值卡塔尔国,(值卡塔尔。。。;
    修正数据:update 表名 set 列1 = 值1。。。where 条件;
    除去数据:delete from 表名 where 条件;
    日常不做物理删除,做逻辑删除;
    逻辑删除:update。。。;
    备份:mysqldump -uroot -p 数据库名> 文件名.sql
    复原:mysql -uroot -p 数据库名< 文件名.sql

    mysql

      数据库中表操作

    • 创办表:creat table 表名(列及类型)auto_increment表示自动增进

      eg:creat table students(
        id int auto_increment primary key,
        name varchar(10) not null
        );

           新葡亰496net 1

      上面截图中default将小括号去掉,空格替代

    • 查看表布局:desc 表名;(describe)
    • 修改表:alter table 表名 add|change|drop 列名 类型;

       eg:alter table students add birthday datatime;
       *注:改过列的时候列的名字不可能纠正,只好改良类型

    • 删除表:drop table 表名
    • 改革表名称:rename table 原表名 to 新表名
    • 查看表的大规模语句:show create table ‘表名’;

     

      数据操作

    • 查询:select * from 表名;
    • 增加数量:

      全列增多:insert into 表名 values(…)
        eg:insert into students values(0,'曹操',1,'1999-2-3',0); *注:当中的0,并不一定临蓐0,而是内部自行会转移,此处写的0是为着占位。
      缺省插入:insert into 表名(列1,…)values(值1,…)
      同期插入多条数据:insert into 表名 values(…)(…)…;
      或:insert into 表名(列1,…) values(…)(…)…;

    • 修改:update 表名 set 列1=值1,…where 条件

      *注:where能够是id种类,不写则会以致全数行被改善

    • 删除:delete from 表名 where 条件(物理删除,生龙活虎旦删除不可复苏)

      *相对来讲:逻辑删除,其实就一定于改善再开展筛选。
        eg:delete from students where id=3;(物理删除)
          updata students set isDelete=1 where id=3;
          select * from students where isDelete=0;(逻辑删除)

     

      备份与回复

    • 备份:首先步入MySQL的库目录,然后运转备份命令。

    新葡亰496net:初学MySQL根底知识笔记,mysql数据库的中坚选择命令总括。      mysqldump -uroot -p 数据库名 > 指标路线及文件名(.sql文件)

          按提示输入mysql的密码。

    • 恢复:

          mysqldump -uroot -p 新数据库名 < 已备份的文书(.sql文件)

     

      博客地址:http://www.cnblogs.com/yudanqu/

       转发请申明来源

     

     

        -- 退出数据库

    mysql 数据库的操作

        quit/exit/ctrl d

     
      
    1.连连数据库
      
     mysql -u root -pmysql

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

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

        -- 展现数据库版本 version

       
      抽离数据库
         
     ctrl l:毁灭命令显示屏
      
     quitexit

        select version();

    2.创设数据库
     create database 数据库名 charset=utf8;
     ### 创建数据库时必然要记得解决编码难点

        -- 展现时间

     

    select now();

    3.翻看当前选拔的数据库: select database(卡塔尔(英语:State of Qatar);
      查看所以数据库:  show databases;
      查看当前数据库中全数表: show tabes;
      查看当前表中具备的列: select * from 表名;
      查看表构造:   desc 表名;

    -- 查看当前应用的数据库

     

        select database();

    4. 1)创设表须求利用的数据类型:
     整数:  int,bit  #int unsigned:无符号整形  #tinyint unsigned:无符号整形(但范围十分小,常常用来年龄卡塔尔(قطر‎  #.bit是位数据类型,长度为1字节;int 是整型;bit 实际正是bool类型,只可以是0和1,int的是4个字节的整型
     小数:  decimal   #decimal(5,2卡塔尔表示陆个人数字,两位小数点
     字符串: varchar,char  #varchar:可变字符串
     日期时间:  date, time, datetime
     枚举类型: enum
     主键:  primary key
     自动拉长(增添卡塔尔(英语:State of Qatar): 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);

        -- 查看全部数据库

     

    show databases;

    5.查看制造数据库的讲话: show create database 库名
      查看创立表的口舌:  show create table 表名

        -- 成立数据库

     

        -- create database 数据库名 charset=utf8;

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

    create database python01;

     

    create database python01 charset=utf8;

    7.表的修正:

        -- 查看创制数据库的说话

     1) 纠正表-增多字段 kouhao (班级口号卡塔尔
         alter table 表名 add 列名 类型及约束;
         alter table t_classes add kouhao varchar(20卡塔尔(قطر‎ not null default '人生苦短,笔者用Python';

        -- show create database ....

     2) 改正表-改善字段:重命名版
         alter table 表名 change 原名 新名 类型及限定;
         alter table t_classes change kouhao logo varchar(20);

      show create database python01;

     3) 修改表-改良字段:不重命名版
         alter table 表名 modify 列名 类型及限制;
         alter table t_classes modify logo varchar(20卡塔尔国 not null default '人生苦短,笔者用Python';   

        -- 使用数据库

    8.数据的增加和删除改查(curd卡塔尔(英语:State of Qatar)
      curd的演说: 代表创设(Create)、更新(Update)、读取(Retrieve)和删除(Delete)

        -- use 数据库的名字

      1)增加

        use python01;

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

        -- drop database 数据库名;

     2.部分布署
     insert into 表名(列1,...) values(值1,...)
     insert into t_students(name,gender) values ('张飞',1); #此地张益德前面包车型客车一是创办表时,列表性别列对象的枚举参数顺序

      drop database python01;

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

    --02 数据表的操作

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

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

     1.整个改造
     update t_students set height=188.88 ;

      show tables;

     2.按原则修正
     update t_students set gender='女' where id=1;

        -- 创建表

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

    -- int unsigned 无符号整形

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

        -- auto_increment 代表自动增进

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

        -- not null 表示不可能为空

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

        -- primary key 表示主键

      4)删除

        -- default 默认值

     1.物理删除 #删除后不得苏醒
     delete from 表名 where 条件
     delete from t_students where id=4;

        -- create table 数据表名字 (字段 类型 限定[, 字段 类型 约束]);

     2.逻辑删除 #对要删减的对象做标志,可还原(用叁个字段来代表 那条信息是或不是业已无法再接受了)
     须要给students表增加四个 isdelete 字段 bit 类型能力张开逻辑删除
     isdelete=1 正是表示删除标识;is_delete=0 便是过来 #用二进制0和1表示
     update t_students set isdelete=1 where id=5 ;

    create table yyyy(

    id int unsigned not null primary key auto_increment,

    name varchar(20) not null,

            age int

    );

        -- 查看表构造

        -- desc 数据表的名字;

    desc yyyy;

        -- 创建 classes 表(id、name)

    create table classes(

    id int unsigned not null primary key auto_increment,

    name varchar(20) not null

    );

        -- 创建 students 表(id、name、age、high (decimal)、gender (enum)、cls_id)

        create table students(

    id int unsigned not null primary key auto_increment,

    name varchar(20) not null,

    age int unsigned,

    high decimal(5,2),

    gender enum("男","女","中性","保密") default "保密",

    cls_id int

    );

        -- 查看表的始建语句

        -- show create table 表名字;

      show create table yyyy;

        -- 校正表-增加字段 mascot (吉祥物卡塔尔

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

      alter table classes add jixiangwu varchar(20) default "保时捷";

        -- 改进表-改善字段:不重命名版

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

    alter table classes modify jixiangwu varchar(30卡塔尔 default "叁个优良";

        -- 改进表-校勘字段:重命名版

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

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

        -- 改过表-删除字段

        -- alter table 表名 drop 列名;

    alter table classes drop mascot;

        -- 删除表

        -- drop table 表名;

        -- drop database 数据库;

    --03 增加和删除改查(curd卡塔尔国

        -- 增加

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

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

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

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

    | name  | varchar(20)      | NO  |    | NULL    |                |

    新葡亰496net, ------- ------------------ ------ ----- --------- ----------------

            -- 全列插入

            -- insert [into] 表名 values(...)

            -- 主键字段 能够用 0  null  default 来占位

            -- 向classes表中插入 三个班级

    insert into classes values(1,"laowang");

            -- 向students表插入 一个学员音信

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

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

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

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

    | name  | varchar(20)                        | NO  |    | NULL    |                |

    | age    | int(10) unsigned                    | YES  |    | NULL    |                |

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

    | gender | enum('男','女','中性','保密')      | YES  |    | 保密    |                |

    | cls_id | int(11)                            | YES  |    | NULL    |                |

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

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

    insert into students values(0,"吴彦祖",23,188.88,"男",222);

    insert into students values(null,"谢晨",30,188.88,default,333);

            -- 部分插入

            -- insert into 表名(列1,...) values(值1,...)

            insert into students(name,gender) values("曾老师",1);

            -- 多行插入

    insert into students values(0,"laowang",18,166.66,1,111),(0,"laoli",18,166.66,1,111);

        -- 修改

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

            -- 全部制改过动

    update students set high=175.00;

    -- 按法规校订

    update students set high=177.77 where id=2;

    -- 按原则改良八个值

    -- update students set gender ="",name = "xxx" ;

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

        -- 查询中央接收

            -- 查询全部列

            -- select * from 表名;

            select * from students;

            ---定条件查询

            select * from students where id=1;

            -- 查询钦定列

            -- select 列1,列2,... from 表名;

            select name,gender from students;

            -- 能够采纳as为列或表钦定别称

            -- select 字段[as 别名] , 字段[as 别名] from 数据表;

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

            -- 字段的顺序

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

        -- 删除

            -- 物理删除

            -- delete from 表名 where 条件

          delete from students where id=6;

            -- 逻辑删除

            -- 用一个字段来代表 那条音讯是还是不是业已不可能再选取了

            -- 给students表加多三个 is_delete 字段 bit 类型

    alter table students add is_delete bit default 0;

    update students set is_delete=1 where id=5;

    -- 数据库备份与回复(精晓卡塔尔(英语:State of Qatar)

    -- mysqldump –uroot –p 数据库名 > python.sql;

    -- mysql -uroot –p 新数据库名 < python.sql;

    本文由新葡亰496net发布于网络数据库,转载请注明出处:新葡亰496net:初学MySQL根底知识笔记,mysql数据库

    关键词: