MySQL基础

一、库的操作

  1. 系统数据库

    执行如下命令,查看系统库

    show databases;
    

    information_schema: 虚拟库,不占用磁盘空间,存储的是数据库启动后的一些参数,如用户表信息、列信息、权限信息、字符信息等
    performance_schema: MySQL 5.5开始新增一个数据库:主要用于收集数据库服务器性能参数,记录处理查询请求时发生的各种事件、锁等现象
    mysql: 授权库,主要存储系统用户的权限信息
    test: MySQL数据库系统自动创建的测试数据库


  2. 数据库相关操作

    • create database db1 charset utf8;
      
    • drop database db1;
      
    • alter database db1 charset gbk;
      
    • # 查看当前创建的数据库
      show create database db1;
      # 查看所有的数据库
      show databases;
      
      use db1; #切换数据库
      
      select database(); #查看当前所在库
      

  3. 求救语法

    help create database;
    

  4. 数据库命名规则

    可以由字母、数字、下划线、@、#、$
    区分大小写
    唯一性
    不能使用关键字如 create select
    不能单独使用数字
    最长128位
    

二、表的操作

  1. 表的基本相关操作

    • create table t1(id int,name char);
      
    • # 删除表
      drop table t1;
      
    • # modify修改的意思
      alter table t1 modify name char(6);
      # 改变name为大写的NAME
      alter table t1 change name NAMA char(7);
      
    • #查看当前的这张t1表
      show create table t1;
      
      # 查看所有的表
      show tables;
      
      # 查看表的详细信息
      desc t1;
      

  2. 查询表的数据和结构

    (1)查询a1表中的存储数据

    mysql> select * from a1;
    +------+-------+------+
    | id | name | age |
    +------+-------+------+
    | 1 | mjj   | 18  |
    | 2 | wusir | 28  |
    +------+-------+------+
    2 rows in set (0.02 sec)
    
    mysql>
    

    (2)查看a1表的结构

    mysql> desc a1;
    +-------+-------------+------+-----+---------+-------+
    | Field     | Type           | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | id        | int(11)        | YES  |      | NULL    |       |
    | name      | varchar(50)    | YES  |      | NULL    |       |
    | age       | int(3)         | YES  |      | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
    3 rows in set (0.16 sec)
    

    (3)查看表的详细结构

    mysql> show create table a1\G;
    *************************** 1. row ***************************
           Table: a1
    Create Table: CREATE TABLE `a1` (
      `id` int(11) DEFAULT NULL,
      `name` varchar(50) DEFAULT NULL,
      `age` int(3) DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8
    1 row in set (0.00 sec)
    

  3. 复制表

    (1)复制db2.a1的表结构和记录

    # 这就是复制表的操作(既复制了表结构,又复制了记录)
    mysql> create table b1 select * from db2.a1;
    Query OK, 2 rows affected (0.03 sec)
    

    (2)只复制表结构

    #在db2数据库下新创建一个b2表,给一个where条件,条件要求不成立,条件为false,只拷贝表结构
    mysql> create table b2 select * from db2.a1 where 1>5;
    Query OK, 0 rows affected (0.05 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    

    ps:还有一种做法,使用like(只拷贝表结构,不拷贝记录)

    mysql> create table b3 like db2.a1;
    Query OK, 0 rows affected (0.01 sec)
    

三、数据的操作

在MySQL管理软件中,可以通过SQL语句中的DML语言来实现数据的操作,包括

1.使用INSERT实现数据的插入
2.UPDATE实现数据的更新
3.使用DELETE实现数据的删除
4.使用SELECT查询数据以及。


二、插入数据 INSERT
1. 插入完整数据(顺序插入)
    语法一:
    INSERT INTO 表名(字段1,字段2,字段3…字段n) VALUES(值1,值2,值3…值n);

    语法二:
    INSERT INTO 表名 VALUES (值1,值2,值3…值n);

2. 指定字段插入数据
    语法:
    INSERT INTO 表名(字段1,字段2,字段3…) VALUES (值1,值2,值3…);

3. 插入多条记录
    语法:
    INSERT INTO 表名 VALUES
        (值1,值2,值3…值n),
        (值1,值2,值3…值n),
        (值1,值2,值3…值n);

 4. 插入查询结果
    语法:
    INSERT INTO 表名(字段1,字段2,字段3…字段n) 
                    SELECT (字段1,字段2,字段3…字段n) FROM 表2
                    WHERE …;

三、更新数据UPDATE
语法:
    UPDATE 表名 SET
        字段1=值1,
        字段2=值2,
        WHERE CONDITION;

示例:
    UPDATE mysql.user SET password=password(‘123’) 
        where user=’root’ and host=’localhost’;
四、删除数据DELETE
语法:
    DELETE FROM 表名 
        WHERE CONITION;

示例:
    DELETE FROM mysql.user 
        WHERE password=’’;


**MySQL详细查询语法**:https://www.cnblogs.com/wangyueping/p/11257985.html
posted @ 2019-07-29 00:37  与鹿逐秋  阅读(169)  评论(0编辑  收藏  举报