数据库Nacicat基本操作概念


    数据库的概念

    mysql navicat

    sql语法  查询

    mysql 高级知识

1、概念

    1.1、数据库是什么

    数据库作用是存储数据,为了方便查询或使用

    1.2、RDBMS

        关系型数据库

        核心是用二维表存储数据

        字段:代表每一列的数据的含义
        记录:每一行数据代表一个事物的信息

        一个表中有很多条记录
        一个数据库中有很多表

    1.3、SQL

        操作关系型数据库的语言

        重点:查询语句 select SELECT seLEct

    1.4、Mysql

        瑞典公司开发,被卖给Sun,Sun又被卖给Oracle

        开源 免费 支持多平台

2、Mysql安装

    2.1、服务端安装

        安装路径不要选择带中文的

        配置文件: C:\Program Files (x86)\MySQL\MySQL Server 5.1\my.ini

        右键我的电脑-管理-服务-Mysql服务  启动服务 停止服务 重启服务

3、navicat操作

    3.1 数据库操作

        建立连接  连接上某个服务端,需要ip、用户名、密码

        连接成功后,打开连接,能看到服务端的所有仓库

        仓库的操作 创建  删除  编辑

    3.2 数据表操作

        创建表  至少需要一个字段

        重命名表

        修改表  

            添加字段  
            修改字段
            删除字段

        删除表

    3.3.数据的操作

        打开表

            添加数据

            修改数据

            删除数据


    连接  
        很多仓库

            仓库下面包含很多表

                    表包含 很多字段 很多记录

    3.4 常用数据类型

        整数:int ,长度没有意义,有符号范围(-2147483648 ~2147483647),无符号范围(0 ~ 4294967295)

        小数:decimal , decimal(5,3), 小数点后面最多3位,整数最多 (5-3)2位

        字符串:varchar ,长度代表能放多少个字符,一个字母、数字、中文、符号都是一个字符,最大的长度是65533

        日期时间: datetime,范围(1000-01-01 00:00:00 ~ 9999-12-31 23:59:59),如'2020-01-01 12:29:59'


        约束

        主键(primary key):一条记录的唯一标识,与自动递增 和 无符号一块使用

        非空(not null):此字段不允许填写空值

        惟一(unique):此字段的值不允许重复,后面sql语法中使用

        默认值(default):当不填写此值时会使用默认值,如果填写时以填写为准

        外键(foreign key):维护两个表之间的关联关系,高级知识

    3.5 数据库的备份与恢复

        备份
            右键点击某个数据库仓库-->转储sql文件

        恢复  
            重新创建一个数据库-->右键点击数据库仓库-->运行sql文件

4、SQL语言 符号都是英文符号

    4.1 数据表操作  

        创建表  注释 ctrl + /  取消注释 ctrl + shift + /
        --  
        --  create table 表名(
        --    字段名 类型 约束,
        --    字段名 类型 约束
        --    ...
        -- )
        --   :创建学生表,字段要求如下:姓名(长度为10)

         create table students(
             name varchar(10)
        )


        -- 例:创建学生表,字段要求如下:
        --  
        -- 姓名(长度为10), 年龄

        这个是年龄的数值取值范围用这个属性 tinyint 可以节约空间
        create table students2(
            name varchar(10),
            age  tinyint
        )



        -- 例:创建学生表,字段要求如下:
        --  
        -- 姓名(长度为10), 年龄,身高(保留小数点2位)
        无符号 unsigned    主键primary key  排序从小到大auto_increment
        create table students3(
            id int   unsigned   primary key   auto_increment,
            name varchar(10),
            age tinyint,
            height decimal(5,2)
        )


          删除表
        --  
        -- 格式一: drop table  表名
        --  
        -- 格式二: drop table if exists  表名
        --  
        --   drop table students

        -- 如果表存在 ,才删除
          drop table if exists students2



    4.2 数据操作

        简单查询

        --   select * from hero

        添加数据
        --  
        -- 添加一行数据
        --  
        -- 格式一:所有字段设置值,值的顺序与表中字段的顺序对应
        --  
        -- 说明:主键列是自动增长,插入时需要占位,通常使用0或者 default 或者 null 来占位,插入成功后以实际数据为准
        --  
        --   insert into  表名 values(...)
        --  
        -- 例:插入一个学生,设置所有字段的信息

        insert into students3 values(null,'亚瑟',13,12.12)



        -- 格式二:部分字段设置值,值的顺序与给出的字段顺序对应
        --  
        --  insert into  表名(字段1,...) values(值1,...)
        -- 例:插入一个学生,只设置姓名

        --  insert into students3(name) values('老夫子')
             ??
        --  insert into students3(name,age) values('妲己',20)

        执行多条语句,以分号分隔
        -- insert into students3(name,age) values('妲己2',20);
        -- insert into students3(name,age) values('妲己3',20);
        -- insert into students3(name,age) values('妲己4',20)

        -- 格式二:insert into 表名(列1,...) values(值1,...),(值1,...)...
        -- 例:插入多个学生,只设置姓名

        -- insert into students3(name) values('刘备'),('刘备2'),('刘备3')


        修改
        --  
        -- 格式:update 表名 set 列1=值1,列2=值2... where 条件
        -- 例:修改id为5的学生数据,姓名改为 狄仁杰,年龄改为 20

        -- update students3 set age=38 where name='老夫子'

        -- update students3 set age=20,name='狄仁杰' where id=2


        -- update students3 set age=age+1


        删除
        --  
        -- 格式: delete from  表名 where 条件
        -- 例:删除id为6的学生数据

        -- create table students3_bak select * from students3

        --   delete from students3 where id=6
        --  
        --  
        --  delete from students3

        逻辑删除
添加一个字段,is_del,0代表数据没有删除,1代表数据被删除了
        2、删除数据时,不执行delete,而是update,更新某一条数据的is_del,更新成1
        3、查询数据时,只显示is_del为0的数据
        1、


        -- 删除刘备

        -- update students3_bak set is_delete=1 where name='刘备'
        --  
        --  
        -- 显示数据时,只查找is_delete为0的数据

        select * from students3_bak where is_delete=0

你可能感兴趣的:(Mysql语法)