美文网首页
实验楼MySQL记录(一)

实验楼MySQL记录(一)

作者: firewt | 来源:发表于2019-02-20 20:46 被阅读8次

    启动mysql:

    sudo service mysql start
    

    登陆mysql

    mysql -u root
    

    查看有哪些数据库

    show databases;
    

    查看数据库中有那些表

    show tables;
    

    mysql配置文件

    /etc/mysql/my.conf
    

    创建数据库

    create database sqlname;
    

    创建数据表

    CREATE TABLE 表的名字
    
    (
    
    列名a 数据类型(数据长度),
    
    列名b 数据类型(数据长度),
    
    列名c 数据类型(数据长度)
    
    );
    

    mysql常用数据类型

    数据类型 大小(字节) 用途 格式
    INT 4 整数
    FLOAT 4 单精度浮点数
    DOUBLE 8 双精度浮点数
    ENUM -- 单选,比如性别 ENUM('a','b','c')
    SET -- 多选 SET('1','2','3')
    DATE 3 日期 YYYY-MM-DD
    TIME 3 时间点或持续时间 HH:MM:SS
    YEAR 1 年份值 YYYY
    CHAR 0~255 定长字符串
    VARCHAR 0~255 变长字符串
    TEXT 0~65535 长文本数据

    char和varchar的区别

    CHAR 的长度是固定的,而 VARCHAR 的长度是可以变化的,比如,存储字符串 “abc",对于 CHAR(10),表示存储的字符将占 10 个字节(包括 7 个空字符),而同样的 VARCHAR(12) 则只占用4个字节的长度,增加一个额外字节来存储字符串本身的长度,12 只是最大值,当你存储的字符小于 12 时,按实际长度存储。

    插入数据

    INSERT INTO 表的名字(列名a,列名b,列名c) VALUES(值1,值2,值3);
    INSERT INTO VALUES(值1,值2); 自动对应列,如果缺少则为null,不可缺少
    CHAR,VARCHAR,TEXT,DATE,TIME,ENUM 等类型的数据也需要单引号修饰,而 INT,FLOAT,DOUBLE等则不需要。

    mysql约束

    在MySQL中,通常有这几种约束:

    约束类型: 主键 默认值 唯一 外键 非空
    关键字: PRIMARY KEY DEFAULT UNIQUE FOREIGN KEY NOT NULL

    主键 (PRIMARY KEY)是用于约束表中的一行,作为这一行的唯一标识符,在一张表中通过主键就能准确定位到一行,因此主键十分重要,主键不能有重复记录且不能为空。

    主键约束:

    关键词:primary key

    create table table_name(id int(10) primary key, name char(10));
    

    默认值约束:

    关键词:default 'default value'

    create table table_name(id int(10) primary key, name char(16) default 'default_name');
    

    唯一约束:

    关键字:UNIQUE (field)
    唯一约束 (UNIQUE) 比较简单,它规定一张表中指定的一列的值必须不能有重复值,即这一列每个值都是唯一的。

    create table table_name(id int(10) primary key, name char(20) default 'default_name', phone int(13), UNIQUE (phone))
    

    外键约束:

    关键字:FOREIGN KEY (oid) REFERENCES table1(pid));
    table 1:

    pid name
    1 name1
    2 name2

    table 2:

    oid num pid
    1 001 1
    2 002 2
    create table table2(oid int(10) primary key, num int(8), pid int(10), FOREIGN KEY (oid) REFERENCES table1(pid));
    

    非空约束:

    关键字: NOT NULL

    create table table_name(id int(10) primary key, name varchar(10) NOT NULL);
    

    设置自增:

    关键字:auto_increment

    create table table_name(id int(10) primary key auto_increment, name varchar(10) not null);
    

    相关文章

      网友评论

          本文标题:实验楼MySQL记录(一)

          本文链接:https://www.haomeiwen.com/subject/uzskyqtx.html