zoukankan      html  css  js  c++  java
  • MySQL SQL介绍(1)

    MySQL SQL介绍(1)

    一、MySQL SQL介绍

    1.1.1 SQL 应用基础

    1. 常用的列属性约束
    1、primary  key      (主键) 
    2、unique            (唯一)
    3、not null          (不为空)
    4、default           (默认值) 
    5、auto_increment    (自增长)
    6、unsigned             (无符号) 常与zerofill(零填充)配合
    7、comment              (注释)
    
    1. 创库建表插入数据回顾
    #创建school
    mysql> create database school character set utf8mb4 collate utf8mb4_general_ci;
    Query OK, 1 row affected (0.00 sec)
    mysql> Show collation;
    +--------------------------+----------+-----+---------+----------+---------+
    | Collation                | Charset  | Id  | Default | Compiled | Sortlen |
    +--------------------------+----------+-----+---------+----------+---------+
    | big5_chinese_ci          | big5     |   1 | Yes     | Yes      |       1 |
    | big5_bin                 | big5     |  84 |         | Yes      |       1 |
    | dec8_swedish_ci          | dec8     |   3 | Yes     | Yes      |       1 |
    | dec8_bin                 | dec8     |  69 |         | Yes      |       1 |
    | cp850_general_ci         | cp850    |   4 | Yes     | Yes      |       1 |
    | cp850_bin                | cp850    |  80 |         | Yes      |       1 |
    | hp8_english_ci           | hp8      |   6 | Yes     | Yes      |       1 |
    | hp8_bin                  | hp8      |  72 |         | Yes      |       1 |
    | koi8r_general_ci         | koi8r    |   7 | Yes     | Yes      |       1 |
    
    mysql> use school
    Database changed
    
    #创建测试环境表
    #学生表
    mysql> create table student(
        ->  sno int not null primary key auto_increment comment '学号',
        ->  sname varchar(255) not null comment '学生姓名',
        ->  sage tinyint(3) unsigned zerofill not null comment '学生年龄',
        ->  ssex char(1) not null comment '学生性别'
        ->  )engine=innodb charset=utf8mb4;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> desc student;
    +-------+------------------------------+------+-----+---------+----------------+
    | Field | Type                         | Null | Key | Default | Extra          |
    +-------+------------------------------+------+-----+---------+----------------+
    | sno   | int(11)                      | NO   | PRI | NULL    | auto_increment |
    | sname | varchar(255)                 | NO   |     | NULL    |                |
    | sage  | tinyint(3) unsigned zerofill | NO   |     | NULL    |                |
    | ssex  | char(1)                      | NO   |     | NULL    |                |
    +-------+------------------------------+------+-----+---------+----------------+
    4 rows in set (0.00 sec)
    
    #教师表
    mysql> create table teacher(
        -> tno int not null primary key auto_increment comment '教师编号',
        -> tname varchar(255) not null comment '教师名字'
        -> )engine=innodb charset=utf8mb4;
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> desc teacher;
    +-------+--------------+------+-----+---------+----------------+
    | Field | Type         | Null | Key | Default | Extra          |
    +-------+--------------+------+-----+---------+----------------+
    | tno   | int(11)      | NO   | PRI | NULL    | auto_increment |
    | tname | varchar(255) | NO   |     | NULL    |                |
    +-------+--------------+------+-----+---------+----------------+
    2 rows in set (0.00 sec)
    
    #课程表
    mysql> create table course(
        -> cno int not null unique primary key auto_increment comment '课程编号',
        -> cname varchar(255) unique not null comment '课程名称',
        -> tno int unique not null comment '教师编号'
        -> )engine=innodb charset=utf8mb4;
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> desc course;
    +-------+--------------+------+-----+---------+----------------+
    | Field | Type         | Null | Key | Default | Extra          |
    +-------+--------------+------+-----+---------+----------------+
    | cno   | int(11)      | NO   | PRI | NULL    | auto_increment |
    | cname | varchar(255) | NO   | UNI | NULL    |                |
    | tno   | int(11)      | NO   | UNI | NULL    |                |
    +-------+--------------+------+-----+---------+----------------+
    3 rows in set (0.00 sec)
    
    #成绩表
    mysql>  create table score(
        ->  sno int  not null  comment '学号',
        ->  cno int  not null comment '课程编号',
        ->  score tinyint(3) unsigned zerofill not null comment '学生成绩'
        ->  )engine=innodb charset=utf8mb4;
    Query OK, 0 rows affected (0.05 sec)
    
    mysql> desc score;
    +-------+------------------------------+------+-----+---------+----------------+
    | Field | Type                         | Null | Key | Default | Extra          |
    +-------+------------------------------+------+-----+---------+----------------+
    | sno   | int(11)                      | NO   |     | NULL    | auto_increment |
    | cno   | int(11)                      | NO   |     | NULL    |                |
    | score | tinyint(3) unsigned zerofill | NO   |     | NULL    |                |
    +-------+------------------------------+------+-----+---------+----------------+
    3 rows in set (0.00 sec)
    
    #学生表插入数据
    mysql> INSERT INTO student(sno,sname,sage,ssex)
        -> VALUES
        -> (1,'zhang3',18,'m'),
        -> (2,'zhang4',18,'m'),
        -> (3,'li4',18,'m'),
        -> (4,'wang5',19,'f'),
        -> (5,'zh4',18,'m'),
        -> (6,'zhao4',18,'m'),
        -> (7,'ma6',19,'f');
    Query OK, 7 rows affected (0.00 sec)
    Records: 7  Duplicates: 0  Warnings: 0
    
    mysql> select sno,sname,sage,ssex from student;
    +-----+--------+------+------+
    | sno | sname  | sage | ssex |
    +-----+--------+------+------+
    |   1 | zhang3 |  018 | m    |
    |   2 | zhang4 |  018 | m    |
    |   3 | li4    |  018 | m    |
    |   4 | wang5  |  019 | f    |
    |   5 | zh4    |  018 | m    |
    |   6 | zhao4  |  018 | m    |
    |   7 | ma6    |  019 | f    |
    +-----+--------+------+------+
    7 rows in set (0.00 sec)
    
    mysql> INSERT INTO student(sname,sage,ssex)
        -> VALUES
        -> ('oldboy',20,'m'),
        -> ('oldgirl',20,'f'),
        -> ('oldp',25,'m');
    Query OK, 3 rows affected (0.00 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    
    mysql> select sno,sname,sage,ssex from student;
    +-----+---------+------+------+
    | sno | sname   | sage | ssex |
    +-----+---------+------+------+
    |   1 | zhang3  |  018 | m    |
    |   2 | zhang4  |  018 | m    |
    |   3 | li4     |  018 | m    |
    |   4 | wang5   |  019 | f    |
    |   5 | zh4     |  018 | m    |
    |   6 | zhao4   |  018 | m    |
    |   7 | ma6     |  019 | f    |
    |   8 | oldboy  |  020 | m    |
    |   9 | oldgirl |  020 | f    |
    |  10 | oldp    |  025 | m    |
    +-----+---------+------+------+
    10 rows in set (0.00 sec)
    
    #教师表插入数据
    mysql> INSERT INTO teacher(tno,tname) VALUES
        -> (101,'oldboy'),
        -> (102,'hesw'),
        -> (103,'oldguo');
    Query OK, 3 rows affected (0.00 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    
    mysql> select tno,tname from teacher;
    +-----+--------+
    | tno | tname  |
    +-----+--------+
    | 101 | oldboy |
    | 102 | hesw   |
    | 103 | oldguo |
    +-----+--------+
    3 rows in set (0.00 sec)
    
    #课程表插入数据
    mysql> INSERT INTO course(cno,cname,tno)
        -> VALUES
        -> (1001,'linux',101),
        -> (1002,'python',102),
        -> (1003,'mysql',103);
    Query OK, 3 rows affected (0.00 sec)
    Records: 3  Duplicates: 0  Warnings: 0
    
    mysql> select cno,cname,tno from course;
    +------+--------+-----+
    | cno  | cname  | tno |
    +------+--------+-----+
    | 1001 | linux  | 101 |
    | 1002 | python | 102 |
    | 1003 | mysql  | 103 |
    +------+--------+-----+
    3 rows in set (0.00 sec)
    
    #成绩表插入数据
    mysql> INSERT INTO score(sno,cno,score)
        -> VALUES
        -> (1,1001,80),
        -> (1,1002,59),
        -> (2,1002,90),
        -> (2,1003,100),
        -> (3,1001,99),
        -> (3,1003,40),
        -> (4,1001,79),
        -> (4,1002,61),
        -> (4,1003,99),
        -> (5,1003,40),
        -> (6,1001,89),
        -> (6,1003,77),
        -> (7,1001,67),
        -> (7,1003,82),
        -> (8,1001,70),
        -> (9,1003,80),
        -> (10,1003,96);
    Query OK, 17 rows affected (0.01 sec)
    Records: 17  Duplicates: 0  Warnings: 0
    
    mysql> select sno,cno,score from score;
    +-----+------+-------+
    | sno | cno  | score |
    +-----+------+-------+
    |   1 | 1001 |   080 |
    |   1 | 1002 |   059 |
    |   2 | 1002 |   090 |
    |   2 | 1003 |   100 |
    |   3 | 1001 |   099 |
    |   3 | 1003 |   040 |
    |   4 | 1001 |   079 |
    |   4 | 1002 |   061 |
    |   4 | 1003 |   099 |
    |   5 | 1003 |   040 |
    |   6 | 1001 |   089 |
    |   6 | 1003 |   077 |
    |   7 | 1001 |   067 |
    |   7 | 1003 |   082 |
    |   8 | 1001 |   070 |
    |   9 | 1003 |   080 |
    |  10 | 1003 |   096 |
    +-----+------+-------+
    17 rows in set (0.00 sec)
    
  • 相关阅读:
    插入排序—希尔排序(Shell`s Sort)原理以及Java实现
    八大排序算法原理以及Java实现(直接插入排序)
    HTTP与HTTPS的区别
    TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute【转】
    TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议【转】
    中介者模式-Mediator
    命令模式-command
    桥接模式-Bridge
    迭代器模式-Iterator
    组合模式-Composite
  • 原文地址:https://www.cnblogs.com/woaiyunwei/p/13054577.html
Copyright © 2011-2022 走看看