zoukankan      html  css  js  c++  java
  • 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 a1G;
      *************************** 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
  • 相关阅读:
    MVB设备分类
    MVB帧
    也说析构---C++
    oracle中以dba_、user_、v$_、all_、session_、index_开头
    查看Oracle的表中有哪些索引(用user_indexes和user_ind_columns)
    Spark_总结五
    Spring编程式和声明式事务实例讲解
    缓存穿透,缓存击穿,缓存雪崩解决方案分析
    redis持久化2
    redis的持久化方式
  • 原文地址:https://www.cnblogs.com/wangyueping/p/11249366.html
Copyright © 2011-2022 走看看