zoukankan      html  css  js  c++  java
  • MySQL(三)

    一、创建库

    1、创建一个库:

    create database 数据库名;
    create database 库名 character set 编码;

    mysql> create database mydatabase01;
    Query OK, 1 row affected (0.34 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mydatabase01       |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    5 rows in set (0.03 sec)
    
    mysql> create database mydatabase02 character set gbk;
    Query OK, 1 row affected (0.22 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mydatabase01       |
    | mydatabase02       |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    6 rows in set (0.00 sec)

    查看编码:show create database mydatabase02;

    mysql> show create database mydatabase01;
    +--------------+-----------------------------------------------------------------------+
    | Database | Create Database |
    +--------------+-----------------------------------------------------------------------+
    | mydatabase01 | CREATE DATABASE `mydatabase01` /*!40100 DEFAULT CHARACTER SET utf8 */ |
    +--------------+-----------------------------------------------------------------------+
    1 row in set (0.00 sec)

    mysql> show create database mydatabase02;
    +--------------+----------------------------------------------------------------------+
    | Database | Create Database |
    +--------------+----------------------------------------------------------------------+
    | mydatabase02 | CREATE DATABASE `mydatabase02` /*!40100 DEFAULT CHARACTER SET gbk */ |
    +--------------+----------------------------------------------------------------------+
    1 row in set (0.00 sec)

     2、删除一个库: drop database 库名;

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mydatabase01       |
    | mydatabase02       |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    6 rows in set (0.00 sec)
    
    mysql> drop database mydatabase02;
    Query OK, 0 rows affected (0.54 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mydatabase01       |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    5 rows in set (0.00 sec)

    3、使用库;use 库名;

    mysql> use mydatabase01;
    Database changed

    4、查看当前正在使用的库;

    mysql> select database();
    +--------------+
    | database()   |
    +--------------+
    | mydatabase01 |
    +--------------+
    1 row in set (0.00 sec)

    二、对数据库表的操作;

    1、创建表

    create table 表名(
        字段名 类型(长度) [约束],
        字段名 类型(长度) [约束]
        );
    字符类型:varchar(n)
    单表约束:
        * 主键约束:primary key,要求被修饰的字段:唯一 和 非空
        * 唯一约束: unique,要求被修饰的字段:唯一
        * 非空约束: not null,要求被修饰的字段:非空约束
    mysql> create table user(
        -> uid int(32) primary key auto_increment,
        -> uname varchar(32),
        -> upassword varchar(32)
        -> );
    Query OK, 0 rows affected (0.94 sec)

    2、查看数据库表:

    mysql> show tables;
    +------------------------+
    | Tables_in_mydatabase01 |
    +------------------------+
    | user                   |
    +------------------------+
    1 row in set (0.03 sec)

    3、查看表的结构

    mysql> desc user;
    +-----------+-------------+------+-----+---------+----------------+
    | Field     | Type        | Null | Key | Default | Extra          |
    +-----------+-------------+------+-----+---------+----------------+
    | uid       | int(32)     | NO   | PRI | NULL    | auto_increment |
    | uname     | varchar(32) | YES  |     | NULL    |                |
    | upassword | varchar(32) | YES  |     | NULL    |                |
    +-----------+-------------+------+-----+---------+----------------+
    3 rows in set (0.05 sec)

    4、删除表;

    mysql> drop table user;
    Query OK, 0 rows affected (0.43 sec)
    
    mysql> show tables;
    Empty set (0.00 sec)

    5、修改表:

    5.1、添加一列:alter table 表名 add 字段名 类型(长度) [约束]

    mysql> desc user;
    +-----------+-------------+------+-----+---------+----------------+
    | Field     | Type        | Null | Key | Default | Extra          |
    +-----------+-------------+------+-----+---------+----------------+
    | uid       | int(32)     | NO   | PRI | NULL    | auto_increment |
    | uname     | varchar(32) | YES  |     | NULL    |                |
    | upassword | varchar(32) | YES  |     | NULL    |                |
    +-----------+-------------+------+-----+---------+----------------+
    3 rows in set (0.01 sec)
    
    mysql> alter table user add uinfo varchar(32) not null;
    Query OK, 0 rows affected (0.58 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> desc user;
    +-----------+-------------+------+-----+---------+----------------+
    | Field     | Type        | Null | Key | Default | Extra          |
    +-----------+-------------+------+-----+---------+----------------+
    | uid       | int(32)     | NO   | PRI | NULL    | auto_increment |
    | uname     | varchar(32) | YES  |     | NULL    |                |
    | upassword | varchar(32) | YES  |     | NULL    |                |
    | uinfo     | varchar(32) | NO   |     | NULL    |                |
    +-----------+-------------+------+-----+---------+----------------+
    4 rows in set (0.00 sec)

    5.2 、修改列的类型(长度约束):alter table 表名 modify 要修改的字段名 类型(长度)[约束]

    mysql> desc user;
    +-----------+-------------+------+-----+---------+----------------+
    | Field     | Type        | Null | Key | Default | Extra          |
    +-----------+-------------+------+-----+---------+----------------+
    | uid       | int(32)     | NO   | PRI | NULL    | auto_increment |
    | uname     | varchar(32) | YES  |     | NULL    |                |
    | upassword | varchar(32) | YES  |     | NULL    |                |
    | uinfo     | varchar(32) | NO   |     | NULL    |                |
    +-----------+-------------+------+-----+---------+----------------+
    4 rows in set (0.00 sec)
    
    mysql> alter table user modify uinfo varchar(64) null;
    Query OK, 0 rows affected (1.39 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> desc user;
    +-----------+-------------+------+-----+---------+----------------+
    | Field     | Type        | Null | Key | Default | Extra          |
    +-----------+-------------+------+-----+---------+----------------+
    | uid       | int(32)     | NO   | PRI | NULL    | auto_increment |
    | uname     | varchar(32) | YES  |     | NULL    |                |
    | upassword | varchar(32) | YES  |     | NULL    |                |
    | uinfo     | varchar(64) | YES  |     | NULL    |                |
    +-----------+-------------+------+-----+---------+----------------+
    4 rows in set (0.00 sec)

    5.3 、修改列的列名:alter table 表名 change 旧列名 新列名 类型(长度)[约束]

    mysql> alter table user change uinfo info varchar(32) not null;
    Query OK, 0 rows affected (1.26 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> desc user;
    +-----------+-------------+------+-----+---------+----------------+
    | Field     | Type        | Null | Key | Default | Extra          |
    +-----------+-------------+------+-----+---------+----------------+
    | uid       | int(32)     | NO   | PRI | NULL    | auto_increment |
    | uname     | varchar(32) | YES  |     | NULL    |                |
    | upassword | varchar(32) | YES  |     | NULL    |                |
    | info      | varchar(32) | NO   |     | NULL    |                |
    +-----------+-------------+------+-----+---------+----------------+
    4 rows in set (0.00 sec)

    5.4、删除表的列:alter table 表名 drop 列名

    mysql> alter table user drop info;
    Query OK, 0 rows affected (0.95 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> desc user;
    +-----------+-------------+------+-----+---------+----------------+
    | Field     | Type        | Null | Key | Default | Extra          |
    +-----------+-------------+------+-----+---------+----------------+
    | uid       | int(32)     | NO   | PRI | NULL    | auto_increment |
    | uname     | varchar(32) | YES  |     | NULL    |                |
    | upassword | varchar(32) | YES  |     | NULL    |                |
    +-----------+-------------+------+-----+---------+----------------+
    3 rows in set (0.00 sec)

    5.5 、修改表名:rename table 表名 to 新表名

    mysql> show tables;
    +------------------------+
    | Tables_in_mydatabase01 |
    +------------------------+
    | user                   |
    +------------------------+
    1 row in set (0.00 sec)
    
    mysql> rename table user to tbl_user;
    Query OK, 0 rows affected (0.42 sec)
    
    mysql> show tables;
    +------------------------+
    | Tables_in_mydatabase01 |
    +------------------------+
    | tbl_user               |
    +------------------------+
    1 row in set (0.00 sec)

    5.6 、修改表的字符集: alter table 表名 character set 编码

    查看表当前的编码:
    mysql> show create table tbl_user; +----------+------------------------------------------------------------------------------------------------------------ -----------------------------------------------------------------------------------------------+ | Table | Create Table | +----------+------------------------------------------------------------------------------------------------------------ -----------------------------------------------------------------------------------------------+ | tbl_user | CREATE TABLE `tbl_user` ( `uid` int(32) NOT NULL AUTO_INCREMENT, `uname` varchar(32) DEFAULT NULL, `upassword` varchar(32) DEFAULT NULL, PRIMARY KEY (`uid`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 | +----------+------------------------------------------------------------------------------------------------------------ -----------------------------------------------------------------------------------------------+ 1 row in set (0.01 sec)
    mysql> alter table tbl_user character set gbk;
    Query OK, 0 rows affected (0.23 sec)
    Records: 0  Duplicates: 0  Warnings: 0
    
    mysql> show create table tbl_user;
    +----------+------------------------------------------------------------------------------------------------------------
    ------------------------------------------------------------------------------------------------------------------------
    ------------+
    | Table    | Create Table
    
                |
    +----------+------------------------------------------------------------------------------------------------------------
    ------------------------------------------------------------------------------------------------------------------------
    ------------+
    | tbl_user | CREATE TABLE `tbl_user` (
      `uid` int(32) NOT NULL AUTO_INCREMENT,
      `uname` varchar(32) CHARACTER SET utf8 DEFAULT NULL,
      `upassword` varchar(32) CHARACTER SET utf8 DEFAULT NULL,
      PRIMARY KEY (`uid`)
    ) ENGINE=InnoDB DEFAULT CHARSET=gbk |
    +----------+------------------------------------------------------------------------------------------------------------
    ------------------------------------------------------------------------------------------------------------------------
    ------------+
    1 row in set (0.00 sec)

    待续.....

  • 相关阅读:
    数学分析学习笔记
    参数注解检查方法入参
    AOP 织入 Redis 缓存
    手写单例 Redis 分布式锁
    Leetcode 347 前K个高频元素 topK问题手写大顶堆
    PCB 网页WebODB++与Genesis同屏实现方法
    Git多密钥配置
    npm安装问题解决
    设计模式
    odoo14里面开发一个简单的action.client 的tag 模板例子
  • 原文地址:https://www.cnblogs.com/xiaozhaoboke/p/10316807.html
Copyright © 2011-2022 走看看