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

    创建并使用数据库

    使用SHOW语句找出服务器上当前存在什么数据库

    SHOW DATABASES;

    mysql> SHOW DATABASES;
    +--------------------+
    | Database |
    +--------------------+
    | information_schema |
    | db_nenu_jysj |
    | db_study |
    | mysql |
    | performance_schema |
    | sys |
    +--------------------+
    6 rows in set (0.00 sec)

    mysql>

     mysql数据库是必需的,因为他描述用户访问权限。

    if(没有SHOW DATABASES权限){

        不能看见所有数据库;

    }

    尝试访问存在的数据库

    USE db_study

    mysql> USE db_study;
    Database changed
    mysql>

    注意:USE跟QUIT类似 不需要分号(;) 结束,养成习惯写上也行。USE 必须在一行上执行。

    错误示例:

    mysql> USE
    ERROR:
    USE must be followed by a database name
    mysql>

    我想创建一个数据库

    CREATE DATABASE test;

    mysql> CREATE DATABASE test;
    Query OK, 1 row affected (0.00 sec)

    mysql>

    我现在能创建数据库、选择数据库了,但是数据库里面要有一些表才行啊,NULLNULL的数据库系不行の。

    查看数据库中的表

    SHOW TABLES;

    mysql> SHOW TABLES;
    Empty set (0.00 sec)

    mysql>

    创建一个表

    书上的栗子,从前有一个宠物的表(pet) 有这些字段:名字(name)、主人(owner)、种类(species)、性别(sex)、出生(birth)和死亡日期(death)。

    mysql> CREATE TABLE pet(
    -> name VARCHAR(20),
    -> owner VARCHAR(20),
    -> species VARCHAR(20),
    -> sex CHAR(1),
    -> birth DATE,
    -> death DATE);
    Query OK, 0 rows affected (0.26 sec)

    mysql>

    至于这些字段用什么样子的数据类型,你可以百度一下mysql的数据类型。

    现在我SHOW一下 应该是有一个表的

    mysql> SHOW TABLES;
    +----------------+
    | Tables_in_test |
    +----------------+
    | pet |
    +----------------+
    1 row in set (0.00 sec)

    mysql>

    为了验证你的表是按照期望的方式创建的,使用一个DESCRIBE语句

    DESCRIBE pet;

    mysql> DESCRIBE pet;
    +---------+-------------+------+-----+---------+-------+
    | Field | Type | Null | Key | Default | Extra |
    +---------+-------------+------+-----+---------+-------+
    | name | varchar(20) | YES | | NULL | |
    | owner | varchar(20) | YES | | NULL | |
    | species | varchar(20) | YES | | NULL | |
    | sex | char(1) | YES | | NULL | |
    | birth | date | YES | | NULL | |
    | death | date | YES | | NULL | |
    +---------+-------------+------+-----+---------+-------+
    6 rows in set (0.00 sec)

    mysql>

    其实可以简写成:

    DESC pet;

    *<(´・ω・)っ由

     现在我们,创建了数据库,在数据库里面创建了一个表(pet) 我们要往里面插入数据了。

    LOAD DATA

    添加数据有一个简易(我不会、嫌麻烦)的方法:

    创建一个文本文件"pet.txt",每行写一个记录,对于没法确定的值(比如说死亡日期,性别)可以使用NULL 在文本中用  N  表示。

    然后用下面的命令:(我把这个文本文件放到了C盘下面,这里演示的是Windows用户  在运行OS X的Apple机上,应使用行结束符' '。)

    mysql> LOAD DATA LOCAL INFILE 'C:/pet.txt' INTO TABLE pet
    -> LINES TERMINATED BY ' ';
    Query OK, 1 row affected (0.23 sec)
    Records: 1 Deleted: 0 Skipped: 0 Warnings: 0

    mysql> select * from pet;
    +----------+-------+---------+------+------------+-------+
    | name | owner | species | sex | birth | death |
    +----------+-------+---------+------+------------+-------+
    | Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
    +----------+-------+---------+------+------------+-------+
    1 row in set (0.00 sec)

    mysql>

    LOAD DATA语句是多么的简易(麻烦)啊,注意你安装的Mysql可能与默认的本地文件不兼容(GG).

    INSERT

    其实还有一种方法就是INSERT 语句增加一条记录

    mysql> INSERT INTO pet
    -> VALUES ('Puffball','Diane','hamster','f','1999-03-30',NULL);
    Query OK, 1 row affected (0.16 sec)

    mysql> select * from pet;
    +----------+-------+---------+------+------------+-------+
    | name | owner | species | sex | birth | death |
    +----------+-------+---------+------+------------+-------+
    | Whistler | Gwen | bird | NULL | 1997-12-09 | NULL |
    | Puffball | Diane | hamster | f | 1999-03-30 | NULL |
    +----------+-------+---------+------+------------+-------+
    2 rows in set (0.00 sec)

    mysql>

    INSERT语句中NULL代表不存在的值,不能用N表示。

  • 相关阅读:
    使用zipkin2在SpringCloud2.0环境下追踪服务调用情况
    Spring Cloud负载均衡:使用Feign作客户端负载均衡
    Spring Cloud负载均衡:使用zuul作服务器端负载均衡
    Word模板替换
    【转】Eureka集群
    巧用JavaScript语言特性解耦页面间调用(观察者模式)
    MySQL 视图触发器事务存储过程函数
    MySQL py模块的链接Navicat可视化工具
    MySQL 单表查询多表查询
    MySQL 表与表之间建立关系
  • 原文地址:https://www.cnblogs.com/zuosy/p/6903641.html
Copyright © 2011-2022 走看看