zoukankan      html  css  js  c++  java
  • MySQL学习笔记

    2019.6.19

    1.创建数据库

      使用命令

        任意打开一个数据库,选择QUERY->NEW QUERY->打开SQL窗口

        书写创建库的命令

          create database 库名 default character set 编码表;

          示例:

          create database wollo default character set utf8;

          MySQL的注解为 ##注解内容

        切换数据库到新建库

          use 库名

      使用图形化界面

        在连接名上右键->new database->弹出新建库的窗口->输入库名->选择编码格式为utf8->点击ok即可

    2.删除数据库

      使用命令:

        任意打开一个数据库,选择QUERY->NEW QUERY->打开SQL窗口

        drop database 库名;

      使用图形化界面:

        选择要删除的库:右键->database即可

    3.MySQL中创建表:

      创建表语句:
        create table 表名(字段名 类型 约束,字段名 类型 约束,。。。)

    create table student(
        sid int(10) not null auto_increment primary key,
        sname varchar(100) not null,
        sage int(3),
        ssex char(4),
        sbirth date
    )
    ##主键自增在创建表的字段后使用 auto_increment
    ##新增字段
    alter table student add money float;
    ##插入数据
    insert into student values(default,'张三',18,'''2018-02-22',2000.0); 

      MySQL常见字符类型

         数值类型:

           int(长度):表示整数类型的数据

           float/double:表示浮点数

         字符类型:

           varchar(长度):动态分配存储长度

           char(长度):分配固定长度

         日期类型:

           date:格式为 yyyy-MM-dd

           datetime:格式为 yyyy-MM-dd hh:mm:ss 占用8个字节

           timestamp:特点:会自动进行时区的转换,占用4个字节

           time:时间

           year:年份

         其他类型:

           TEXT:非二进制大对象(字符)比如:新闻

           BLOB:二进制大对象(非字符)

    4.约束

      主键约束:

        在创建表时在字段后使用primary key即可

        在创建表语句的最后使用constraint 约束名 primary key(主键字段名)

        在创建表的外部添加约束:alter table 表名 add constraint 约束名 primary key(字段名)

      非空约束:

        在创建表的时候直接在字段后使用not null即可

        在创建表后使用alter table 表名 modify 字段名 类型 not null

        注意:mysql的非空约束中空字符可以存储进去

      检查约束:

        问题:在MySQL中没有检查约束,但是使用check关键字不会报错

        解决:使用代码逻辑进行无效数据的过滤

           使用MySQL的存储过程(百度)

      唯一约束:

        在字段名后直接使用unique关键字

        在创建表语句的最后面使用constraint 约束名 unique(主键字段名)

        在创建表的外部添加约束:alter table 表名 add constraint 约束名 unique (主键字段名)

      外键约束:

        在字段名后直接使用 references 父表名(父表主键名)

        在创建表语句的后面使用constraint 外键约束名 foreign key(字段名) refenences 父表名(父表主键名)

        在创建表的外部添加约束:alter table 表名 add constraint 外键约束名 foreign key(字段名) refenences 父表名(父表主键名)on delete set null on update cascade;

    create table student(
        sid int(10) not null auto_increment primary key,
        sname varchar(100) not null,
        sage int(3) not null,
        ssex char(4) not null,
        sqq varchar(20) not null unique,    
        sbirth date,
        cid int(10) references clazz(cid)   
    )

    5.表的修改删除

      添加字段:

        alter table 表名 add 字段名 类型

      删除字段:

        alter table 表名 drop 字段名
      修改字段类型:

        alter table 表名 modify 字段名 新的类型

      修改字段名:

        alter table 表名 change 字段名  新的字段名 类型

      修改表名:

        alter table 表名 rename as 新的表名

      删除表:

        drop table 表名
    6.其他操作

      显示表信息

        show tables

      显示创建表语句

        show create table 表名

      显示库

        show database

    7.MySQL的数据操作

      查询:

        单表查询:

          别名:直接空格在字段后使用

          去除重复:使用distinct关键字

          连接符:concat(字段名,字段名)

          排序:order by 字段名

          where子句:

          函数:max,min,avg,sum,count

          分组:group by 字段名

          having:分组后筛选

        多表查询:

          SQL92

          SQL99

        子查询:

          单行子查询

          多行子查询

      增加:

        insert into 表名 values(值1,值2,值3,。。。);全字段插入

        insert into 表名 values(主键,字段,字段,。。。)values(值1,值2,值3,。。。);部分字段插入

      删除:

        delete from 表名 where 条件

      修改:

        update 表名 set 字段名=值,字段名=值。。。where条件

    8.分页查询

      使用关键字limit

        select * from 表名 limit m*n-n,n

        m表示页数

        n表示每页显示的数量

    9.MySQL的数据备份

      命令方式:

        导出:

          mysqldump -u root -p 数据库名 > dbname.sql

        导入:

          mysql>source d:dbname.sql

      工具方式:

        Navicat上选择导入导出按钮

  • 相关阅读:
    [Java入门] 从键盘输入两个整数,求最小公倍数并输出
    【C#食谱】【面食】菜单3:用泛型替代ArrayList
    C# Stable Sort(稳固排序)
    【C#食谱】【面食】菜单4:List和LinkedList性能比较
    一个非常酷的应用:修改“开始”菜单的显示文本
    我的第一个5年计划
    C#语言重要常识
    决定执行力的49个细节
    .NET资源链接
    标准表达式中数据类型不匹配(Access 时间格式)
  • 原文地址:https://www.cnblogs.com/mxj961116/p/11054901.html
Copyright © 2011-2022 走看看