您的位置:新葡亰496net > 网络数据库 > 新葡亰496netMysql数据库基础知识,mysql数据库的基

新葡亰496netMysql数据库基础知识,mysql数据库的基

发布时间:2019-07-28 07:40编辑:网络数据库浏览(129)

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

    --01 mysql 数据库的操作

    --01 mysql 数据库的操作

    总结:

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

    E-R模型(实体关系模型)

    • 当前物理的数据库都是按照E-R模型进行设计的
    • E表示entry,实体
    • R表示relationship,关系
    • 一个实体转换为数据库中的一个表
    • 关系描述两个实体之间的对应规则,包括
      • 一对一
      • 一对多
      • 多对多
    • 关系转换为数据库表中的一个列 *在关系型数据库中一行就是一个对象

       

    数据引擎

    MyISAM和InnoDB的区别

    三范式

    • 经过研究和对使用中问题的总结,对于设计数据库提出了一些规范,这些规范被称为范式
    • 第一范式(1NF):列不可拆分
    • 第二范式(2NF):唯一标识
    • 第三范式(3NF):引用主键
    • 说明:后一个范式,都是在前一个范式的基础上建立的

       

    字段类型

    • 在mysql中包含的数据类型很多,这里主要列出来常用的几种
    • 数字:int,decimal
    • 字符串:
      • char(8):不可变,不够8个在右边补空格,
      • varchar(8):可变,不够8个的话,该是几个就几个,
      • 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

       

    远程连接

    • 一般在公司开发中,可能会将数据库统一搭建在一台服务器上,所有开发人员共用一个数据库,而不是在自己的电脑中配置一个数据库
    • 运行命令
    • 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 表名(列1,...) values(值1,...)
      同时插入多条数据: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-R模型(实体关系模型) 当前物理的数据库都是按照 E-R 模型进行设计的 E 表示 entry ,实体 R 表示 re...

    关系型数据库核心元素有哪些?

        -- 链接数据库

     

    1、数据库操作

    创建库
      create database db_name;

    查询库
      show databases; //显示所有的数据库
      show create databases db_name; //显示特定的数据库

    删除库
      drop database db_name;

    修改库
      alter database db_name [modify command];
      alter database db_name character set gbk;


     主键:特殊字段,用来唯一标识记录的唯一性
     字段:数据列
     记录:数据行
     数据表:数据行的集合
     数据库:数据表的集合

    mysql -uroot -pmysql

        -- 链接数据库

    2、表操作

    创建表
      use db_name;
      create table tbl_name (column_structure) [tbl_option];

    如:
      create table tbl_name(
      variable_name1 varchar(10)
      variable_name2 int
    );

    或:
      create table db_name.tbl_name(
      variable_name1 varchar(10)
      variable_name2 int
      );

    查询表
    查看有哪些表
      show tables;
    或show tables like 'pattern_%';
    查看表的创建信息
    新葡亰496netMysql数据库基础知识,mysql数据库的基本使用命令总结。  show create table tbl_name;

      show create table tbl_name G
    查看表的结构
      describe tbl_name;

      desc tbl_name;]

    删除表
      drop table [if exists] tbl_name;

    修改表
    修改表名
      单个:rename table old_tbl_name to new_tbl_name;
      多个:rename table old_tbl_name1 to new_tbl_name1, old_tbl_name2 to   new_tbl_name2;
      跨数据库:rename table old_tbl_name to db_name.new_tbl_name;
    修改列定义
    增加新列定义:add
      alter table tbl_name add new_column_name data_type;
    如:
      alter table exam_student add height int;
    修改列的定义(新的属性或者数据类型):modify
      alter table tbl_name modify column_name new_data_type;
    删除一个列:drop
      alter table tbl_name drop column_name;
    重命名一个列:change
      alter table tbl_name change old_column_name new_column_name new_data_type;
    修改表选项:
      alter table tbl_name new_tbl_option;
      alter table tbl_name character set utf8;

    安装、启动、停止、重启mysql服务器的命令

    -- 不显示密码

        mysql -uroot -pmysql

    3、数据操作

    创建数据
      insert into tbl_name (fields_list) values (values_list);
    如:
      insert into exam_student (stu_name, stu_no) values ('xiaoming', 'php030_01');
    若插入所有字段值
      insert into exam_student values ('xiaoming', 'php030_01', 98);

    查询数据
    查看字段信息
      select * from tbl_name;
    参看具体字段列表信息
      select fields_list from tbl_name where condition;
    如:默认状态下
      select stu_name, stu_no from exam_student;
    或:
      select stu_name, stu_no from exam_student where 1;
    有条件查询
      select * from tbl_name where condition;
    如:
      select * from exam_student where fenshu >= 60;

    删除数据
      delete from tbl_name condition;
    如:
      delete from exam_student where fenshu <= 50;

    修改数据
      update tbl_name set field = new_value where condition;
    如:
      update exam_student set fenshu =100 where fenshu >= 97;

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

    mysql -uroot -p

        

    4、主键:primary

    如:法一:
      create table teacher(
      t_id int primary key [auto_increment],
      t_name varchar(5),
      class_name varchar(6),
      t_days tinyint unsigned
      );
    法二:
      create table teacher(
      t_id int,
      t_name varchar(5),
      class_name varchar(6),
      t_day tinyint unsigned,
      primary key (t_id)
      );
      
      insert into teacher values (1, '王老师', '0225', 23);
    在已创建表中添加主键操作:
      alter table tbl_name add primary key (field) ;
      alter table tbl_name modify colunm_name data_type not null primary key auto_increment;
    自动增长:auto_increment
      alter table tbl_name auto_increment initial_value;
    在已创建表中的主键id上添加auto_increment
      alter table tbl_name id_name id_name int auto_increment;

     

    mysql

        -- 不显示密码  *****

    5、外键:foreign key

    如:
    主表:
      create table itcast_class(
      class_id int primary key auto_increment,
      class_name varchar(10) not null default 'itcast_php' comment '班级名称'
      ) character set utf8;
    从表:
      create table itcast_student(
      stu_id int primary key auto_increment,
      stu_name varchar(10) not null default '',
      class_id int,
      foreign key
      (class_id) references
       itcast_class (class_id)
      ) character set utf8;
    插入数据的顺序:先主表,后从表
      insert into itcast_class values (null, 'php0331');
      insert into itcast_student values (null, '张三', 1);
    删除操作:
      alter table itcast_student drop foreign key itcast_student_ibfk_1;
      alter table itcast_student add foreign key (class_id) references itcast_class (class_id)
      on delete set null;/主表里删除某个字段,从表若对应外键则变成null/
    或者: 
      on delete cascade;/主表删除一个字段,从表对应的外键则会删除相应的值/
    又或者:
      on update restrict;/不允许主表进行更新操作/
      delete from itcast_class where class_id = 1;

    mysql 数据库的操作

        -- 退出数据库

        mysql -uroot -p

    6、最大值

    select max(field) from tbl_name;

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

        quit/exit/ctrl d

        

    7、连接

    内连接
      select tbl1_name.field, tbl2_name.field1, tbl2_name.field2... from tbl1_name inner join tbl2_name on tbl1_name.id = tbl2_name.id where condition;
    外连接
      select tbl1_name.fields, tbl2_name.fields from tbl1_name left outer join tbl2_name on tbl1_name.id = tbl2_name.id;

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

        -- sql语句最后需要有分号;结尾

        -- 退出数据库

    8、更改数据库密码方法:

    进入mysql中后,在命令行中mysql>
    输入:set password for root@localhost = password('123456');

       
      退出数据库
         
     ctrl l:清除命令屏幕
      
     quitexit

        -- 显示数据库版本 version

        quit/exit ctrl d

    2.创建数据库
     create database 数据库名 charset=utf8;
     ### 创建数据库时一定要记得解决编码问题

        select version();

     

     

        -- 显示时间

        -- sql语句最后需要有分号;结尾

    3.查看当前使用的数据库: select database();
      查看所以数据库:  show databases;
      查看当前数据库中所有表: show tabes;
      查看当前表中所有的列: select * from 表名;
      查看表结构:   desc 表名;

    select now();

        -- 显示数据库版本 version

     

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

        select version();

    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
     自动增长(增加): 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);

        select database();

     

     

        -- 查看所有数据库

        -- 显示时间 now

    5.查看创建数据库的语句: show create database 库名
      查看创建表的语句:  show create table 表名

    show databases;

        select now();

     

        -- 创建数据库

        

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

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

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

     

    create database python01;

        select database();

    7.表的修改:

    create database python01 charset=utf8;

     

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

        -- 查看创建数据库的语句

        -- 查看所有数据库

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

        -- show create database ....

        show databases;

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

      show create database python01;

     

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

        -- 使用数据库

        -- 创建数据库

      1)增加

        -- use 数据库的名字

        create database 数据库名 charset = utf8;

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

        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);

        -- 删除数据库

        -- 查看创建数据库的语句

     2.部分插入
     insert into 表名(列1,...) values(值1,...)
     insert into t_students(name,gender) values ('张飞',1); #这里张飞后面的一是创建表时,列表性别列对象的枚举参数顺序

        -- drop database 数据库名;

        show create database 数据库名

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

      drop database python01;

         

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

    --02 数据表的操作

        -- 使用数据库

     1.全部修改
     update t_students set height=188.88 ;

        -- 查看当前数据库中所有表

       use 数据库的名字

     2.按条件修改
     update t_students set gender='女' where id=1;

      show tables;

     

     3.按条件修改多个值
     update students set gender ="",name = "xxx" ;
     update  t_students set height=165.60,gender=1 where id=3;

        -- 创建表

        -- 删除数据库

      3)查询
     
     1.查询所有列
     select * from 表名;
     select * from t_students;

    -- int unsigned 无符号整形

        drop database 数据库名;

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

        -- auto_increment 表示自动增长

     

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

        -- not null 表示不能为空

    --02 数据表的操作

      4)删除

        -- primary key 表示主键

     

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

        -- default 默认值

        -- 查看当前数据库中所有表

     2.逻辑删除 #对要删除的对象做标记,可恢复(用一个字段来表示 这条信息是否已经不能再使用了)
     需要给students表添加一个 isdelete 字段 bit 类型才能进行逻辑删除
     isdelete=1 就是代表删除标记;is_delete=0 就是恢复 #用二进制0和1表示
     update t_students set isdelete=1 where id=5 ;

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

        show tables;

    create table yyyy(

       

    新葡亰496net,id int unsigned not null primary key auto_increment,

        

    name varchar(20) not null,

        -- 创建表

            age int

        -- int unsigned 无符号整形

    );

        -- auto_increment 表示自动增长

        -- 查看表结构

        -- not null 表示不能为空

        -- desc 数据表的名字;

        -- primary key 表示主键

    desc yyyy;

        -- default 默认值

        -- 创建 classes 表(id、name)

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

    create table classes(

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

    id int unsigned not null primary key auto_increment,

     

    name varchar(20) not null

        -- 修改表名

    );

        alter table 旧表名 rename 新表名;

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

        rename table 旧表名 to 新表名;

        create table students(

     

    id int unsigned not null primary key auto_increment,

        -- 查看表结构

    name varchar(20) not null,

        desc 数据表的名字;

    age int unsigned,

     

    high decimal(5,2),

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

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

        create table students (id int unsigned auto_increment primary key,name varchar(30) not null ,age int unsigned,high decimal(5,2),gender enum("男","女","保密","妖") default "保密",cls_id int unsigned);

    cls_id int

       

    );

        -- 查看表的创建语句

        -- 查看表的创建语句

        show create table 表名字;

        -- show create table 表名字;

        

      show create table yyyy;

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

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

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

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

       

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

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

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

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

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

        alter table classes modify mascot varchar(100);

    alter table classes modify jixiangwu varchar(30) default "一个理想";

     

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

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

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

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

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

        alter table classes change mascot jxw varchar(30);

        -- 修改表-删除字段

     

        -- alter table 表名 drop 列名;

        -- 修改表-删除字段  *

    alter table classes drop mascot;

        -- alter table 表名 drop 列名;

        -- 删除表

        alter table classes drop jxw;

        -- drop table 表名;

     

        -- drop database 数据库;

        -- 删除表

    --03 增删改查(curd)

        -- drop table 表名;

        -- 增加

        -- drop database 数据库;

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

        drop table classes; *

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

        drop database python10; 半*

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

           

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

    --03 增删改查(curd)

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

     

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

        -- 增加

            -- 全列插入

            -- 全列插入

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

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

            -- 主键字段 可以用 0  null  default 来占位

            -- 主键字段 可以用 0  null   default 来占位

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

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

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

            insert into classes(name) values("python10");

            -- 向students表插入 一个学生信息

            insert into classes(name) values('python11'),('python12');

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

     

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

            -- 全部插入

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

            insert into students(id,name,age,high,gender,cls_id) values(2,'yangyang',18,1.80890,'保密',001);

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

            -- 部分插入

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

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

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

            insert into students(name) values("yang3");

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

     

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

            -- 多行插入

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

            insert into students(name) values("张三"),("李四");

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

            insert into 表名(字段) values(值) #一一对应

    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);

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

            -- 部分插入

            -- 全部修改

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

            update students set name = "王五"

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

            -- 按条件修改

            -- 多行插入

            update students set name ='李四' where id = 4;

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

            -- 按条件修改多个值

        -- 修改

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

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

            update students set name='张三',age = 20 where id = 5;

            -- 全部修改

            

    update students set high=175.00;

        -- 查询基本使用

    -- 按条件修改

            -- 查询所有列

    update students set high=177.77 where id=2;

            -- select * from 表名;

    -- 按条件修改多个值

            ---定条件查询    

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

            select * from 表名 where id = 2;

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

            -- 查询指定列

        -- 查询基本使用

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

            -- 查询所有列

            -- 可以使用as为列或表指定别名

            -- select * from 表名;

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

            select * from students;

            -- 字段的顺序

            ---定条件查询

            select age,name from students;

            select * from students where id=1;

     

            -- 查询指定列

        -- 删除

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

            -- 物理删除

            select name,gender from students;

            -- delete from 表名 where 条件;

            -- 可以使用as为列或表指定别名

            -- 逻辑删除

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

            -- 用一个字段来表示 这条信息是否已经不能再使用了

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

            -- 给students表添加一个 is_delete 字段 bit 类型

            -- 字段的顺序

            --alter table 表名 add 字段 类型 default 默认值;

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

     

        -- 删除

        -- 数据库备份与恢复(了解)

            -- 物理删除

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

            -- delete from 表名 where 条件

            -- mysql -uroot –p 新数据库名 < python.sql; # 注意导入的时候需要先要创建数据库

          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;

    -- 数据库备份与恢复(了解)

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

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

    本文由新葡亰496net发布于网络数据库,转载请注明出处:新葡亰496netMysql数据库基础知识,mysql数据库的基

    关键词: