MySQL基本知识

标签: mysql 数据库
12人阅读 评论(1) 收藏 举报
分类:
1、数据库(MYSQL)
    数据库(Database)是按照数据结构来组织、存储和管理数据的建立在计算机存储设备上的仓库。
    数据库分为:关系型数据库(RDBMS)、非关系型数据库(nosql)
    所谓的"关系型"可以理解为"表格"的概念, 一个关系型数据库由一个或数个表格组成
2、sql分类
    SQL一共分为四类:
        DDL(数据定义语言)
        用于数据库表、视图、索引等创建,主要包含:CREATE、ALTER、DROP、TRUNCATE 、 COMMENT 、 REPLACE等
        DML(数据操作语言)
        用于对数据库中数据的操作,主要包含:SELECT 、UPDATE 、DELETE 、INSERT、MERGE 、CALL 、EXPLAIN PLAN 、LOCK TABLE等
        TCL(事务控制语言)
        用于数据库的事务操作,主要包含:COMMIT 、ROLLBACK等
        DCL(数据控制语言)
        用于数据库授权、角色控制等,主要包含:GRANT等
    注意:数据库用的最多的东西就是对数据库的:增,删,改,查。
3、命令:
    启动mysql:
        net start mysql[服务名]    不区分大小写

    关闭:
        net stop mysql[服务名]     不区分大小写

    1)创建数据库
        create database + 数据库名;
    2)查看数据库
        show databases;
    注意:MySQL语句以分号(;)作为语句的结束, 若在语句结尾不添加分号时,
         命令提示符会以 -> 提示你继续输入(有个别特例, 但加分号是一定不会错的);
    3)使用对应的数据库
        use + 数据库名;
    4)查看当前数据库中存在的表有哪些
        show tables;
    5)创建新的表
        create table + 表名(
                    表的内容,比如列名,列的数据类型 数据长度 是否为空 主键 默认值 等等
                   )
        例子:
            create table students(
                id int not null auto_increment primary key,
                name char(8) not null, sex char(4) not null,
                age tinyint not null,
                tel char(13) null default "-");

    约束:
            主键约束 primary key
                自增约束 auto_increment
            非空约束 not null;
                唯一约束  unique
            默认约束 default
                K:age int default 18
            检查约束
                check (条件)
                使用enum[枚举数据类型来做值得判断]("值1","值2",...)
                
            外键:
                FOREIGN KEY (当前表的外键字段) REFERENCES 关联表(关联表的主键)
                在一对多|多对一的关系中 外键 加在 多方上
                     建立主外键的前提:数据类型和长度要一致

            例子:
                班级表  class_id
    
                学生表:id name age sex address class_id
                    


    6)展示表的结构
        desc + 表名;

    7)增加列:
        alter table 表名 add 列名 列数据类型 [after 插入位置];
        注意:after 是指定添加到某列的后面
        例子:
            alter table students add birthday date after age;
    
    8)修改列:
        alter table 表名 change 旧列名称 新列名称 新数据类型;
    
    9)删除列:
        alter table 表名 drop 列名称;
    
    10)重命名表:
        alter table 表名 rename 新表名;
        RENAME TABLE 旧表名 TO 新表名

    11)删除整张表:
        drop table 表名;
    
    12)删除整个数据库:
        drop database 数据库名;

    13)修改表的字段的数据类型:
        alter table 表名 modify 修改的字段名 目标数据类型(长度);
    
    14)建表完成后增加主键
        alter table 表名 add  primary key (字段) ; 添加主键

    15)建表完成后添加外键
        Alter table 表名 add constraint foreign key  
        外键名(字段) references 主表(字段);
        例子: alter table student add constraint foreign key(name) references class(name);

    16)删除主键
        Alter table tb change id id int(10);//删除自增长

          Alter table tb drop primary key;//删除主建

    17)删除外键
        alter table 表名 drop  foreign key 外键名(不是字段列名)

    18)删除唯一
        alter table 表名 drop index 字段名;
        
    19)在已有的字段上面添加自增  (UNIQUE必须要 唯一性)
        ALTER TABLE 表名 CHANGE 字段名 字段名 字段类型 AUTO_INCREMENT UNIQUE;
        
    20)给已经建好的表加上唯一性约束
        ALTER TABLE `t_user` ADD unique(`username`);
    
    注意:drop的删除针对数据库和表格,delete是针对表格里面的具体内容来说的。

    注意:删除主外键的时候,要先删除表的外键,然后再去删除关联的表的主键。

    查询外键名:show create table 表名

4、数据类型

    数值型:

        tinyint  小整数型  范围(-128,127)
    
        smallint 大整数型  范围(-32768,32767)

        mediumint 大整数类型     (-8 388 608,8 388 607)
            
        int  大整数型    (-2 147 483 648,2 147 483 647)   重点常用的
    
        float 单精度浮点型  重点常用的

        double 双精度浮点型 重点常用的

    日期和时间类型:
    
        date 日期型  格式:YYYY-MM-DD   范围 1000-01-01/9999-12-31

        time 时间值或持续时间  格式:HH:MM:SS   范围:'-838:59:59'/'838:59:59'

        datetime  混合日期和时间值  格式:YYYY-MM-DD HH:MM:SS    范围:1000-01-01 00:00:00/9999-12-31 23:59:59

    字符串类型:
        
        char    定长字符串  0-255字节   不足用空格补足
        
        varchar 变长字符串  0-65535 字节   重点  常用   不足的不会用空格补足  超出长度则会截断  一般的字符串选择 varchar

        text    长文本数据  0-65 535字节  超长的字符串选择text

查看评论

mysql数据库基础知识

朋友需要,今天整理的速成的。有了orm数据库crud忘记的干干净净==。 类型属性: ◦ZEROFILL –适用于所有数值类型数据数据列 –作用:如果数值的宽度小于定义的显示宽度,则在数值前填...
  • wanpro
  • wanpro
  • 2016年07月27日 20:29
  • 2185

MySQL基本知识

1、bigint的Length为20是什么意思?       2^64=18446744073709551616,共20位
  • gjf281
  • gjf281
  • 2015年03月11日 21:55
  • 338

mysql 基本知识

主要笔记来源mysql帮助文档 http://dev.mysql.com/doc/refman/5.1/zh/sql-syntax.html 1,比较常见的创建mysql表的方法; d...
  • why_up
  • why_up
  • 2013年09月24日 22:59
  • 526

MYSQL基本知识

字符串函数 (1)计算字符串字符数的函数和字符串长度的函数 CHAR_LENGTH(str)返回值为字符串str所包含的字符个数,一个多字节字符算作一个单字符 LENGTH(str)返回值为字符...
  • hello_bravo_
  • hello_bravo_
  • 2016年10月02日 09:55
  • 136

mysql基本知识

Mysql的特点: 优点    镜像复制:内容动态复制到其他计算机    GIS函数    全文检索: 简化对文本字段内单词的搜索 缺点     不支持自定义数据类型     不支持XM...
  • dananhai381
  • dananhai381
  • 2013年12月11日 19:34
  • 584

MySQL 基本知识

1.SQL 指的是? 您的回答:Structured Query Language 2.哪个 SQL 语句用于从数据库中提取数据? 您的回答:SELECT 3.哪条 SQL 语...
  • GR9527
  • GR9527
  • 2013年06月07日 12:50
  • 392

MYSQL数据库基础知识及操作

一、数据库基础知识 在任何一个关系数据库中,第一范式是对关系模式的基本要求,不满足第一范式的数据库就不是关系数据库 第二范式定义:若关系模式R∈1NFR\in1NF,且关系模式R的每个非主属性完全函数...
  • NLSQQ
  • NLSQQ
  • 2017年04月01日 14:49
  • 909

JS基本知识

————(一)   对象和数组(Objects and Arrays)什么是对象?把一些"名字-属性"的组合放在一个单元里面,就组成了一个对象.我们可以理解为javascript中的对象就是一些"键-...
  • JAVAZHICHIZHE
  • JAVAZHICHIZHE
  • 2009年05月17日 22:21
  • 1302

内核中的基础知识积累

1、__bitwise typedef int __bitwise suspend_state_t;
  • iefswang
  • iefswang
  • 2014年05月30日 18:41
  • 1277

mysql基本知识1

1、Mysql支持两种存储机制:MyISAM和InnoDB, MyISAM不常用,对事物支持不够好,InnoDB提供事务安全存储机制,通过建立行级锁来保证事务完整性。 2、Sql语句类型 查询语...
  • u012813201
  • u012813201
  • 2017年05月18日 16:44
  • 147
    个人资料
    等级:
    访问量: 73
    积分: 46
    排名: 181万+
    文章分类
    文章存档