您的位置:新葡亰496net > 网络数据库 > 数据库增删改查基本操作,Mysql数据库基础知识

数据库增删改查基本操作,Mysql数据库基础知识

发布时间:2019-07-15 02:47编辑:网络数据库浏览(128)

    一、增加(create add insert )
    1,create操作库
    create database 库名 新建库
    create database 库名 character set 编码表

    mysql数据库,是现阶段选取特别遍布的一款关系型数据库

    一、数据库的询问用法

    1、 数据表记录的查询: 运算符、虑重、列运算、小名、排序、聚合函数、分组

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

    E-传祺模型(实体关系模型)

    • 当下物理的数据库都是遵从E-本田CR-V模型举行设计的
    • 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-安德拉模型(实体关系模型) 当前物理的数据库都以坚守 E-ENCORE 模型实行设计的 E 表示 entry ,实体 揽胜极光 表示 re...

    2,create 操作表结构
    新建表:
    create table 表名(
    id int primary key auto_increment,
    name varchar(20),
    ………….
    );
    primary key 主键约束(该列独一值)
    auto_increment 主键表自动增加
    add 增加字段 alter table 表名 add 列名 数据类型 约束

    当下利用的数据库,主要分为两类

    1.1数量筹算

    style="font-size: 1.167rem;">create table exam(

      id int primary key auto_increment,

      name varchar(20) not null,

      chinese double,

      math double,

      english double

    style="font-size: 1.167rem;">);

    style="font-size: 1.167rem;">insert into exam values(null,'关羽',85,76,60);

    新葡亰496net, style="font-size: 1.167rem;">insert into exam values(null,'张飞',70,75,70);

    style="font-size: 1.167rem;">insert into exam values(null,'赵云',90,65,95);

    style="font-size: 1.167rem;">insert into exam values(null,'刘备',97,50,50);

    style="font-size: 1.167rem;">insert into exam values(null,'曹操',90,89,80);

    style="font-size: 1.167rem;">insert into exam values(null,'司马懿',90,67,65);

    style="font-size: 1.167rem;">insert into exam values(null,'刘阿斗');

        数据类型连串
    整形:能够有十进制和十六进制表示
    符点形:浮点数由多少个数字加二个小数点再加多八个数字组成。五个数字体系不可能同不平时间为空。
    字符串:由单引号可能双引号括起来的字符或许数字,字符串中要用转义字符能力代表的特殊符号。
    日期和岁月的值:列如 二〇〇六-05-30 12:30:25  日期是按年-月-日
    NUUL值:是一种无类型的值,表示“空,什么也从未”。
    ________________________________________________________________________________

    3,insert 操作表数据内容
    insert into 表名(列名1,列名2,列名3)values(值1,值2,值3)
    insert into 表名 (列名) values (值)
    insert into 表名 values (全列值)
    insert into 表名 (列名1,列名,列名) values (值1,值2,值3),(值1,值2,值3)

    1.文档型,如sqlite,就是一个文件,通过对文本的复制作而成功数据库的复制

    1.2 数据查询

    style="font-size: 1.167rem;">文件结构:

    style="font-size: 1.167rem;">名字:    

    style="font-size: 1.167rem;">语法:

    █▓     查询全数新闻

           select * from 表名

    █▓    查询钦定列的信息

            select 列名,列名... from 表名;

    █▓     条件查询

            select * from表名 where 条件

     

    █▓    运算符

            

     

     

    相比较运算符

    >  <<=  >=  =<>

    高于、小于、大于/小于等于、不等于

    between 1 and 10

    显示某一区间的值:1—10时期

    in(1,2,3)

    突显在in列表中的值:1、2、3率性二个

    Like ‘张_’

    Like ‘张%’

    混淆查询:%表示零或随便八个字符,_意味着三个字符.

    例子1:张三丰      like ‘张%’

    例子2:张三        like ‘张_’

    is null、is not null

    是否为空

     

    逻辑运算符

    and&&

    三个标准还要建构

    or||

    三个原则任性多少个一贫如洗

    not!

    不成立,例如:where not(age>18)

    █▓       虑重

            查询排重:select distinct 列名 from 表名 where 条件;

     

    █▓       别称以及列运算

            select 列名 as 别名, 列名 as 别名 ... from 表名 where 条件;

     

    █▓     order by 排序 

            select * from 表名 order by 列名 asc desc;

    █▓     关于null 问题 

            通过 ifnull(values,default)解决 

     

    █▓    SQL中聚合 / 聚焦函数

            聚焦函数:多少个数据开始展览演算,运算出三个结出。举例,求和,平均值,最大值,最小值。

    新葡亰496net 1

            语法:select avg(列名) from 表名;都是位于 select 后

     

    █▓  █▓  █▓      group by 分组查询

                select  ... from ... group by 列名;

     

     

    █▓  █▓  █▓ █▓  █▓  █▓ █▓  █▓  █▓ █▓  █▓ 首要计算 select 语句实行各样   █▓  █▓ █▓  █▓  █▓ █▓  █▓  █▓ █▓  █▓  █▓ 

     

    select …要来得的内容.. from …表名.. where 条件…. group by …分组的列 …having …分组后的准绳… order by …排序

     

    select …4… from …1.. where …2.. group by ..3…having ..5… order by ...6.

     

     

    mysql -h主机名 -u用户名 -p密码 //mysql登录运转命令

    二、删除(drop delete truncate)
    1,操作库
    drop database 数据库名

    2.服务型,如mysql、postgre,数据存款和储蓄在贰个大要文件中,不过急需运用极限以tcp/ip协议连接,实行数据库的读写操作

    二、数据备份和重整旗鼓

    █▓  █▓  █▓      1.备份

        

    语法:mysqldump -u 用户名 -p 数据库名 > 磁盘SQL文件路线

     █▓  █▓ █▓        2.恢复

            苏醒措施1:

                    1.创设数据库

                                备份的时候,未有备份创立数据库的说话,当供给还原有些具体多少的时候须求手动创造

                      2. 导入数据

                        source D://mydb.sql

              恢复生机措施2:

                    1.创立数据库

                     2.语法:mysql -u 用户名 -p 导入库名 < 硬盘SQL文件相对路径

                    

    DML数据操作语言
      select  查询 select 字段名,字段名, ... (*) from 表名 where 子句
        查询 select 字段名,字段名, ... (*) from 表名 where 子句  单价》500 的 limit 3 前3条
        select *from kehu,yewuyuan where ye_id=ke_id;查询所属业务员客户的ID
      insert  插入 insert into badwolf (bad_id,bad_name) values(3,'badbird');  插入
      update  修改 update badwolf(表名) set bad_name(列名)='badwolf';
             updata badwolf(表名) set bad_name列名='alex'值 where bad_name='badbird';   
      delete  删除 delete from badwolf(表明) where bad_id=2;
    DCL数据调节语言
      grant  调节存取许可
      revoke  存取权限
    ddl数据定义语言
      create table 创设数量表   create table 库名;
      drop table   数据库对象
      alter table  定义其列
    mysql输入叁个言辞结尾时,末尾要有;号。->意为本语句未有输完 等待继续输入。c用来撤销输入。
    /////////////////////////////////////////////////////////////////////////
        数值类型
    TINYTIN 相当的小的整数      BIGINT 大整数
    SMALLINT 非常的小的莫西干发型      FLOAT 单精度浮点数
    MEDIUMINT 中等大小的大背头    DOUBLE 双精度浮点数
    INT 规范整数        DECavalierL 一个串的浮点数
    CHA奥迪Q5 定长字符串        VARCHAXC90可变长字符串
    TINYBLOB 相当小的BLOB      BLOB 小BLOB
    MEDIUMBLOB 中等BOLB      LONGBLOB 大BLOB
    TINYTEXT 比很小的文本串      TEXT 小文本串
    MEDIUMTEXT 中等文本      LONGTEXT 大文本串
    ENUM    枚举:列可予以有些枚举成员
    SET    集合:列可予以八个汇集成员

    2,操作表结构
    drop table 表名 (删除的是漫天表)
    alter table 表名 drop 列名 删除列
    3,操作表数据
    delete from 表名 where 条件
    delete from 表名 (未有where条件,删的是表中具备记录,逐行删除)
    truncate table 表名 (先删除表,更创建表,等于删除全数表)

    E-R模型

    三、外键约束

     

    增加外键要求留心的标题

    l  借使从表要去增添一个外键约束。要求主表被引用的字段是主键或许独一的。常常选取主键。

    l  若是要去除主表中的数据。要求在从表中那个数目,要未有被引用,才足以去删除。

    l  假使要向从表中去充分多少。供给在主表中,要有相应的多少。才方可去丰盛。

    l  若是要删除表。要先删除从表。然后去删除主表。

    l  新建表的时候。需求先去成立主表,然后去创建从表。

     

    效率:保持数据的完整性,和有效性。

     

     

    1.增多外键约束的语法

                创造表之后增加外键

    █▓  █▓        alter table 从表名称    add foreign key (外键列的名号)references 主表名称(主键)

     

                    创设表的时候加多外键

    /*创设单位表*/

    create table dept(

           id int primary key auto_increment,

           name varchar(20)

    );

    /*成立职员和工人表*/

    create table employee(

           id int primary key auto_increment,

           name varchar(20),

           age int ,

           salary double,

           dept_id int,

           foreign key (dept_id) references dept(id)

    );

     

    总结:

    库的操作

    创建库:create database 库名 character set 编码表;

    删除库:drop database 库名;

    查询库:show databases;

    查看库的编码表:show create database 库名;

    更改库:use 库名;

    翻看当前正在接纳的库:select database();

    修改库的编码表:alter database 库名 character set 编码表;

     

    表本身的操作

    创建表:create table 表名( 列名 列的类别(长度)  类的封锁 ,列名 列的连串(长度)  类的约束...... );

    删除表:drop table 表名;

    查询表:show tables;

    查看表的布局:desc 表名;

    查看表的编码表:show create table 表名;

    修改表:alter table 表名 增/删/改 列名 列的种类(长度) 约束;

    add/drop/change/modify

    修改表名:rename table 旧表名 to 新表名;

     

     

    表中多少的操作

    增:insert into 表名(列名) values(值);

    删:delete from 表名 where 条件;  truncate

    改:update 表名 set 列名=值 ,列名=值 where 条件;

    查:select 列名 as 别名 ,列名 as 别名… from 表名  where 条件 group by 列名 having 条件 order by 排序.

    查询排重:select distinct 列名 from 表名 where 条件;

     

     

    聚合函数:

    count 总括个数、sum求和、avg 平均值、max、min

    在动用那多少个函数举办数据的计算分析时,不时须求对数据表中的列进行多少的分组处理。group by

     

    分组 group by :

     

     

    排序:order  by 列名  asc | desc;

     

     

     

     

     

     

     

     

     

    <wiz_tmp_tag id="wiz-table-range-border" contenteditable="false" style="display: none;">

     

     

     

     

    源于为知笔记(Wiz)

    auto_increment 自动标记列
    对此想选择此属性的列应该定义为NOT NULL,并定义为POdysseyIMACR-VY KEY 可能定义为UNIQUE键。
    unsigned无符号,此属性禁止使用负值,是将数值的取值范围从零开首,即前移了取值范围而已.
    ///////////////////////////////////////////////////////////////////////////////////

    start transaction 开启事务 实施delete删除,rollback 事务回滚可找回
    start transaction 开启事务 推行truncate删除,rollback 事务回滚不可找回

    当前物理的数据库都以比照E-安德拉模型举办规划的

        创造数据库
    create database 库名;   创制三个钦命名称的数据库
    比方说:create database book;   成立了叁个名称叫book的数据库

    三、修改 (alter modify change rename update)
    1,操作库
    use 库名:更改库

    E表示entry,实体

    show database  列出服务器中可用的的数据库
    show table   呈现数据库的清单

    2,alter 修改表的构造
    modify 修改约束类型 alter table 表名 modify tel varchar(50)
    change 修改列名 alter table 表名 change 旧列名 新列名 数据类型 约束
    rename 修改表名 alter table 旧表名 to 新表名
    alter database 数据库名称 character set 编码表

    R表示relationship,关系

    use 库名    选用使用数据库 举例:use book;

    3,update 操作表格数据
    update 表名 set 列1 = 值1, 列2 = 值2 where 条件
    where 条件:
    id=6
    id<>6 id 不等于6
    id<=6
    && || ! and、or、not
    id in(1,3,4,5)
    is null为空,is not null 不为空
    ifnull(值1,0);若为空,设置值为0;

    叁个实体转换为数据库中的二个表

    not null 非空     primary key 主键     auto_increment 自增

    四、查询(select show )
    1,操作库
    show databases
    show create database 库名: 查看库编码表
    select database(); 查看正在利用的库

    事关描述五个实体之间的相应准则,满含

        常见的完整性约束
    primary key 主码约束(主键)   主码正是主关键字,能独一标示字段属性
    unique  独一约束    在多少个字段可能一组字段里多少与表中另外行的多少相比较是无与伦比的 
    not null 非空值约束
    auto_increment 整数列自增1
    default_value  暗许值约束

    2,操作表结构
    show tables; 查询表
    desc 表名; 查看表结构
    show create table 表名; 查看表的编码

    1.一对一

        展现结构操作
    database 表名
    desc 表名

    3,操作表数据
    select 列名1,列名2 from 表名 查询钦点列的数目
    select * from 表名 查询全数列的数额

    2.一对多

        删除数据库或表操作
    drop table 表名  删除表  drop table if exists badbird;加if exists 删除不设有表名不会出错
    drop database 库名   删除库 同上加if exists不会出错
    ////////////////////////////////////////////////////////////
        更动表结构操作

    关键字:
    as:重命名
    like: 模糊查询 like%、%like%、like__

    3.多对多

    语法:alter table 表名 action; 
    注解:action 能够是之类语句:
    add 列名 <建表语句> [first | after 列名]
    add primary key (列名)为表增添一个主键,假使主键已经存在,则产出谬误

    格式:
    select 列名 as 别名 ,列名 as 别名… from 表名 where 条件1 group by 列名 having 条件2 order by 排序
    表明: 条件1 会先进行过滤 -> 实行分组 -> 条件2 举办过滤

    涉及转移为数据库表中的一个列在关系型数据库中一行正是贰个目的

    alter 列名 set default 默许值     能够退换钦赐列默许值

    later table 表名 add 插如列的名 varchar(属性)      first(在此以前)|after(之后)  扩充列名
    change 旧列名 新列名 <建表语句> [first | after 列名]

    梯次表明:select …要展现的内容.. from …表名.. where 条件…. group by …分组的列 …having …分组后的标准… order by …排序?
    数据库增删改查基本操作,Mysql数据库基础知识。select …5… from …1.. where …2.. group by ..3…having ..4… order by ...6.

    三范式

      能够更换列类型和列名称,要是原列的名字和新列的名字同样,则change和modify的职能同样

    modify 列名 <建表语句> [first | after 列名]
    改变列属性:alter table badbird(表名) badtitle(列) modif varchar(属性);
    更换列名:alter table badbird(表名) change badtitle(列) bad_sad(改的名) varchar(属性) not null(no 空);
    drop 列名         //能够去除一列
    drop primary key        //能够去除主键
    drop index index_name;  //能够去除索引
    删除列:alter table badbird(表名) drop badtitle;
    rename as 新表名       //能够将表名更改
    退换表名:alter table badbird(表名) rename badwolf(表名);

        插入记录操作
    语法:  
      insert into 表名(字段名,字段名, ... ) values(字段值,字段值,...);
    例如:insert into badwolf (bad_id,bad_name) values(3,'badbird');  插入
    万一表名后边没写字段名,则暗中认可是向全体的字段增多值,其它字符串值应该用‘ '或“ ”引号括起来
    多条加上:insert into badwolf values(1,'badbird'),(2,'badbird'),(4,'badbird');

        退换记录操作
    语法:
      update 表名 set 列名=数据值 where 子句;

    询问排重:
    select distinct 列名 from 表名 where 条件

    透过切磋和对运用中难点的下结论,对于规划数据库建议了部分行业内部,这一个标准被誉为范式

    例如:update badwolf(表名) set bad_name(列名)='badwolf';

    where 子句是剖断语句,用来设定规范,限制只更新相称的行,若是不带where子句,则更新具备行数据
    删去记录操作 语法:  delete from 表名 where子句;
    例如:delete from badwolf(表明) where bad_id=2;  判定删除全数id=2的值 推断标准得以附加

    12下一页读书全文

     

    1.先是范式(1NF):列不可拆分

    五、聚合函数:
    count 总计个数、sum 求和、 avg 平均值、max、 min

    2.次之范式(2NF):独一标记

    分组管理:group by

    3.第三范式(3NF):引用主键

    排序: order by 列名 asc|desc

    注明:后三个范式,都以在前四个范式的根底上树立的

    六、多表设计
    1、一对多
    例如 一个单位有三个人,壹位只有一个部门
    外键约束格式:
    alter table 从表名称 add foreign key (外键列的名号) references 主表名称(主键)
    创制表时候,直接创设主键约束
    dept_id int,
    foreign key (dept_id) references dept(id)
    2、多对多
    比方:二个体系被四个技士写,贰个技士写五个品类
    3、一对一
    比方说 一人独有一份个人档案,二个档案对应一位

    约束:

    七、数据备份及回复:
    1,备份
    mysqldump -u 用户名 -p 数据库名 > 磁盘SQL文件路线
    mysqldump uroot -p zhangwu> G:mybases2.sql
    Enter password:123

    1.主键primary key

    2,恢复
    方法一:创造数据库,导入数据
    create database db1:
    use db1;
    source G://mybases2.sql

    2.非空not null

    措施二:成立数据库,命令行中输入
    create database db2:
    剥离数据库,在dos下输入
    mysql -uroot -p db2 < G://mybases2.sql
    Enter password:123

    3.惟一unique

    八、范式:
    首先范式:1NF:数据库表的每一列都以不可分割的原子数据项
    先是范式每一列不可再拆分,称为原子性。

    4.默认default

    第二范式:2NF:第二范式就是在首先范式的根基上享有列完全依据于主键列
    第二范式的风味:
    1) 一张表只描述一件工作。
    2) 表中的每一列都统统依附于主键

    5.外键foreign key

    其三范式:3NF:全体列不借助于于另外非主键列,相当于在满意2NF的根基上,任何非主键列不得传递注重于主键。
    所谓传递依赖,指的是一旦存在"A → B → C"的主宰涉及,则C传递依赖于A。由此,满意第三范式的数目库表应该不设有如下依赖关系:主键列 → 非主键列x → 非主键列y。

    数据库操作

    演示:学生消息表
    学号 姓名 年龄 所在高校 大学地方

    ·创造数据库

    满足第二范式,不满意第三范式
    存在传递的主宰涉及:
    学号?所在高校 ? 高校地方

    create database数据库名charset=utf8;

    拆分成两张表
    学号 姓名 年龄 所在大学的数码(外键)
    大学编号 所在高校 大学地方

    ·删除数据库

    三大范式小结:
    范式 特点
    1NF 原子性:表中每列不可再拆分。
    2NF 不发生部分注重,一张表只描述一件业务。白哦中的每一列是一丝一毫注重于主键的。
    3NF 不产生传递依赖,表中每一列都直接重视于主键。并不是通过其余列间接注重于主键。

    drop database数据库名;

    ·切换数据库

    use数据库名;

    ·查看当前甄选的数据库

    select database();

    表操作

    ·查看当前数据库中全部表

    show tables;

    ·创建表

    auto_increment表示自动增加

    create table表名(列及类型);

    如:

    create table students(

    id int auto_incrementprimary key,

    sname varchar(10) not null

    );

    ·修改表

    alter table表名add|change|drop列名类型;

    如:

    alter table students add birthdaydatetime;

    ·删除表

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

    备份与回复

    Ø数据备份

    ·步入特级管理员

    sudo -s

    ·进入mysql库目录

    cd /var/lib/mysql

    ·运行mysqldump命令

    mysqldump –uroot –p数据库名> ~/Desktop/备份文件.sql;

    按提醒输入mysql的密码

    Ø数据苏醒

    ·连接mysqk,创立数据库

    ·退出连接,试行如下命令

    mysql -uroot –p数据库名< ~/Desktop/备份文件.sql

    依照提醒输入mysql密码

    1.1.1总结

    ·数据库化解的标题,E-RAV4模型,三范式

    ·图形分界面操作数据库、表、数据

    ·命令行操作数据库、表、数据

    1.1.2作业

    ·完善学员表、科目表及数据

    ·设计两张表,须求是一对多的涉及

    1.2查询

    简介

    ·查询的基本语法

    select * from表名;

    ·from关键字背后写表名,表示数据来源于是那张表

    ·select后边写表中的列名,假诺是*意味着在结果中体现表中享有列

    ·在select前边的列名部分,能够动用as为列起外号,那一个别称出现在结果集中

    若是要询问多个列,之间利用逗号分隔

    本文由新葡亰496net发布于网络数据库,转载请注明出处:数据库增删改查基本操作,Mysql数据库基础知识

    关键词: