• 【第四章】MySQL数据库的基本操作:数据库、表的创建插入查看


    MySQL数据库基本操作

    • 创建表 create table
    • 查看表结构 desc table, show create table
    • 表完整性约束
    • 修改表 alter table
    • 复制表 create table ...
    • 删除表 drop table

    一、创建数据库:

     MySQL数据库基本操作
    ========================================================
    1、初识SQL语言
    SQL(Structured Query Language 即结构化查询语言)
    SQL语言主要用于存取数据、查询数据、更新数据和管理关系数据库系统,SQL语言由IBM开发。
    DDL语句 数据库定义语言: 数据库、表、视图、索引、存储过程,例如CREATE DROP ALTER
    DML语句 数据库操纵语言: 插入数据INSERT、删除数据DELETE、更新数据UPDATE
    DCL语句 数据库控制语言: 例如控制用户的访问权限GRANT、REVOKE
    DQL语句 数据库查询语言: 查询数据SELECT

    2、系统数据库
    information_schema: 虚拟库,主要存储了系统中的一些数据库对象的信息,例如用户表信息、列信息、权限信息、字符信息等
    performance_schema: 主要存储数据库服务器的性能参数
    mysql: 授权库,主要存储系统用户的权限信息
    sys: 主要存储数据库服务器的性能参数
    创建需要的业务主库...

    3、创建业务数据库 DDL
    语法
    CREATE DATABASE 数据库名;

    数据库命名规则:
    区分大小写
    唯一性
    不能使用关键字如 create select
    不能单独使用数字

    查看数据库
    SHOW DATABASES;

    选择数据库
    SELECT database();  可查看当前所在数据库
    USE 数据库名

    删除数据库
    DROP DATABASE 数据库名;

    二、MySQL表操作

    1)创建表(表的基本操作)

    表school.student1
    字段 字段 字段
    id name sex age
    1 tom male 23 记录

    语法:
    create table 表名(
    字段名1 类型[(宽度) 约束条件],
    字段名2 类型[(宽度) 约束条件],
    )[存储引擎 字符集];


    ==在同一张表中,字段名是不能相同
    ==宽度和约束条件可选
    ==字段名和类型是必须的

    mysql> CREATE DATABASE school;          //创建数据库school
    mysql> use school;
    mysql> create table student1(
    -> id int,
    -> name varchar(50), 
    -> sex enum('m','f'),
    -> age int
    -> );
    Query OK, 0 rows affected (0.03 sec)
    
    
    mysql> show tables;    //查看表(当前所在库)
    +------------------+
    | Tables_in_school |
    +------------------+
    | student1 |
    +------------------+
    1 row in set (0.00 sec)
    
    mysql> select * from student1; //查询表中所有字段的值
    Empty set (0.00 sec)
    
    mysql> select name,age from student1;                //查询表中指定字段的值
    Empty set (0.00 sec) 

    2)向表中插入内容

    语法:
    insert into 表名(字段1,字段2...) values(字段值列表...);

    顺序插入:

    mysql> desc student1;
    +-------+---------------+------+-----+---------+-------+
    | Field | Type          | Null | Key | Default | Extra |
    +-------+---------------+------+-----+---------+-------+
    | id    | int(11)       | YES  |     | NULL    |       |
    | name  | varchar(50)   | YES  |     | NULL    |       |
    | sex   | enum('m','f') | YES  |     | NULL    |       |
    | age   | int(11)       | YES  |     | NULL    |       |
    +-------+---------------+------+-----+---------+-------+
    4 rows in set (0.32 sec)
    
    mysql> insert into student1 values
        -> (1,'yanglt','m',28),
        -> (2,'chengdanjie','f',27)
        -> (3,'ylt','m',28);
    Query OK, 3 rows affected (0.01 sec)
    Records: 3 Duplicates: 0  Warnings: 0
    
    mysql> select * from student1;
    +------+------------+------+------+
    | id   | name       | sex  | age  |
    +------+------------+------+------+
    |    1 | yanglt     | m    |   28 |
    |    2 | chendanjie | f    |   27 |
    |    3 | ylt        | m    |   28 |
    +------+------------+------+------+
    3 rows in set (0.01 sec)

    向指定字段插入

    mysql> insert into student1(name,age) values
        -> ('yangyang',15),
        -> ('chenchen',20);
    Query OK, 2 rows affected (0.42 sec)
    Records: 2  Duplicates: 0  Warnings: 0
    
    mysql> select * from student1;
    +------+------------+------+------+
    | id   | name       | sex  | age  |
    +------+------------+------+------+
    |    1 | yanglt     | m    |   28 |
    |    2 | chendanjie | f    |   27 |
    |    3 | ylt        | m    |   28 |
    | NULL | yangyang   | NULL |   15 |
    | NULL | chenchen   | NULL |   20 |
    +------+------------+------+------+
    5 rows in set (0.00 sec)
    
    mysql> 

     3)表操作实例:

    表school.student2

                  字段名            数据类型
    编号            id                   int
    姓名              name                varchar(50)
    出生年份      born_year        year
    生日              birthday            date
    上课时间      class_time        time
    注册时间      reg_time            datetime
    
    mysql> create table student2(
      id int,
        name varchar(50),         
        born_year year,
       birthday date,
      class_time time,
        reg_time datetime 
        );
    mysql> desc student2;
    mysql> insert into student2 values(1,'tom',now(),now(),now(),now());
    mysql> insert into student2 values(2,'jack',1999,19991120,123000,20170415162545);

    表school.student3

    id     id              int
    姓名    name        varchar(50)
    性别    sex            enum('male','female')
    爱好    hobby        set('music','book','game','disc')
    
    mysql> create table student3(
         id int,
         name varchar(50),
         sex enum('male','female'),
         hobby set('music','book','game','disc')
         );
    
    mysql> desc student3;
    mysql> show create table student3G    
    mysql> insert into student3 values (1,'yang','m','book,game');
    mysql> insert into student3 values (2,'alice','f','film');
    mysql> select * from student3;
    +------+-------+------+------------+
    | id   | name  | sex  | hobby      |
    +------+-------+------+------------+
    |    1 | yang  | m    | book,music |
    |    2 | alice | f    | file       |
    +------+-------+------+------------+
    2 rows in set (0.31 sec)

    4)查看表结构

    DESCRIBE查看表结构
    DESCRIBE 表名;
    DESC 表名;

    SHOW CREATE TABLE查看表详细结构
    SHOW CREATE TABLE 表名;

  • 相关阅读:
    springboot springdata 整合es
    forkJoinPool
    springboot整合ElasticSearch
    雪花算法生成全局唯一ID
    linux环境下elasticsearch+kibana+ik(实现热词自动更新)
    ECMAScript 6新特性简记
    Tsung:开源多协议分布式负载&压力测试工具
    js 数组迭代方法总结
    js for循环
    箭头函数this的问题
  • 原文地址:https://www.cnblogs.com/yangleitao/p/9089482.html
Copyright © 2020-2023  润新知