zoukankan      html  css  js  c++  java
  • MySQL学习——操作数据库(增删改查)(一)

    数据库是长期存储在计算机内,有组织的和可共享的数据集合,简而言之,数据库就是一个存储数据的地方,只是在其存储方式有特定的规律,这样做可以方便处理数据,数据库的操作包括创建数据库和删除数据库,还有数据库中的查询与修改,这些操作都是数据库管理的基础。

    一,创建数据库
      创建数据库是指在数据库系统中划分一块空间,用来存储相应的数据,这是进行表操作的基础,也是进行数据库管理的基础,在mysql中创建数据库需要通过SQL语句CREATE DATABASES实现,语法形式如下:

    CREATE DATABASE 数据库名;
    
    其中,‘数据库名’参数表示所要创建的数据库的名称,在创建数据库之前,可以使用SHOW语句来查看现在已经存在的数据库,语法形式如下:
    
    
    SHOW DATABASE;
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | liuyandb           |
    | mysql              |
    | performance_schema |
    | python             |
    | sys                |
    +--------------------+
    6 rows in set (0.00 sec)
    
    mysql>
    

    二,删除数据库

      删除数据库是指数据库系统中删除已经存在的数据库,删除数据库之后,原来分配的空间将被回收,值得注意的是,删除数据库会删除数据库中所有的表和所有数据。

    删除数据库是通过SQL语句 DROP DATABSE实现的,其语法格式如下/;.
    DROP DATABASE 数据库名;
    

    举例说明

    创建一个叫做mybook的数据库,查询然后在将其删除查看:

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | liuyandb           |
    | mysql              |
    | performance_schema |
    | python             |
    | sys                |
    +--------------------+
    6 rows in set (0.00 sec)
    
    mysql> create database mybook;
    Query OK, 1 row affected (0.04 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | liuyandb           |
    | mybook             |
    | mysql              |
    | performance_schema |
    | python             |
    | sys                |
    +--------------------+
    7 rows in set (0.00 sec)
    
    mysql> drop database mybook;
    Query OK, 0 rows affected (0.00 sec)
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | liuyandb           |
    | mysql              |
    | performance_schema |
    | python             |
    | sys                |
    +--------------------+
    6 rows in set (0.01 sec)
    
    mysql>
    

    三:创建,修改和删除表

      表是数据库存储数据的基本单位,一个表包含若干字段或记录,表的操作包括创建表,修改表和删除表,这些操作都是数据库管理中最基本也是最重要的操作。

    3.1创建表

    MySQL中创建表是通过SQL语句CREATE TABLE 实现的,其语法格式如下:
    
    USE 数据库名
    CREATE TABLE 表名(属性名  数据类型【完整约束条件】,
                                    属性名  数据类型【完整约束条件】,
                                    .
                                    .
                                    );
    
    其中 USE数据库名表示使用某个数据库,‘表名’参数表示所要创建的表的名称 ;
    ‘属性名’参数表示表中字段的名称;
    ‘数据类型’参数指定字段的数据类型,
    ‘完整性约束条件’参数指定字段的某些特殊约束条件   
    
    
    注:在使用create table 语句创建表时,首先使用USE语句选择数据库,选择数据库语句的基本格式为‘USE 数据库名’,如果没有选择数据库,创建表时会出现‘ERROR 1046(3D000):No DATABASE SELECTED’的错误。
    
    表名不能使用SQL语言的关键字,如create,updata和order等都不能做表名,一个表中可以有一个或多个属性,定义时字母大小写均可,各属性之间用逗号隔开,最后一个属性后面不需要加逗号。
    

     注:完整性约束条件是对字段进行限制,要求用户对该属性进行操作符合特定的要求,如果不满足完整性约束条件,数据库系统将不执行用户的操作,其目的是为了保证数据库中的数据完整性,下表为完整性约束条件:

    例子:创建一个名为example0的表:

    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | liuyandb           |
    | mysql              |
    | performance_schema |
    | python             |
    | sys                |
    +--------------------+
    6 rows in set (0.00 sec)
    
    mysql> create database text;
    Query OK, 1 row affected (0.01 sec)
    
    mysql> use text;
    Database changed
    mysql> create table example0(id int,
        -> name varchar(20),
        -> sex boolean
        -> );
    Query OK, 0 rows affected (0.34 sec)
    
    mysql> desc example0;
    +-------+-------------+------+-----+---------+-------+
    | Field | Type        | Null | Key | Default | Extra |
    +-------+-------------+------+-----+---------+-------+
    | id    | int(11)     | YES  |     | NULL    |       |
    | name  | varchar(20) | YES  |     | NULL    |       |
    | sex   | tinyint(1)  | YES  |     | NULL    |       |
    +-------+-------------+------+-----+---------+-------+
    3 rows in set (0.01 sec)
    
    mysql>
    

    注:相关概念:

    主键是表的一个特殊字段,该字段能够唯一的标识该表中的每条信息,主键和记录的关系,如同身份证和人的关系,主键用来标识每个记录,每个记录的主键值都不相同,身份证是用来表名人的身份,每个人都具有唯一的身份证号,设置表的主键指在创建表时设置表的某个字段为该表的主键。

    1.单字段主键
    
        主键是由一个字段构成时,可以直接在该字段的后面加上PRIMARY KEY 来设置主键,语法规则如下:
        属性名  数据类型  PRIMARY KEY
    其中‘属性名’参数表示表中字段的名称,‘数据类型’参数指定字段的数据类型。
    
    例:在example1表中设置stu_id作为主键,SQL代码如下:
    
    
    mysql> create table example1(stu_id int primary key,
        -> stu_name varchar(20),
        -> stu_sex boolean
        -> );
    Query OK, 0 rows affected (0.33 sec)
    
    mysql> desc example1;
    +----------+-------------+------+-----+---------+-------+
    | Field    | Type        | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | stu_id   | int(11)     | NO   | PRI | NULL    |       |
    | stu_name | varchar(20) | YES  |     | NULL    |       |
    | stu_sex  | tinyint(1)  | YES  |     | NULL    |       |
    +----------+-------------+------+-----+---------+-------+
    3 rows in set (0.00 sec)
    
    mysql>
    
    2.多字段主键
        主键是由多个属性组合而成时,在属性定义完之后统一设置主键,语法规则如下:
    
    PRIMARY KEY(属性1,属性2。。。。属性n)
    
    例:在example2表中设置stu_id与course_id俩个字段为主键,SQL代码如下:
    
    mysql>
    mysql> create table example2(stu_id int,
        -> course_id int,
        -> grade float,
        -> primary key(stu_id,course_id)
        -> );
    Query OK, 0 rows affected (0.43 sec)
    
    mysql> desc example2;
    +-----------+---------+------+-----+---------+-------+
    | Field     | Type    | Null | Key | Default | Extra |
    +-----------+---------+------+-----+---------+-------+
    | stu_id    | int(11) | NO   | PRI | NULL    |       |
    | course_id | int(11) | NO   | PRI | NULL    |       |
    | grade     | float   | YES  |     | NULL    |       |
    +-----------+---------+------+-----+---------+-------+
    3 rows in set (0.00 sec)
    
    mysql>
    

    查看表基本结构语句(DESCRIBE)

      DESCRIBE 表名;或者 DESC 表名

    查看表详细结构语句 SHOW CREATE TABLE

      SHOW CREATE TABLE example1G

    例子:

    mysql>
    mysql> desc example1;
    +----------+-------------+------+-----+---------+-------+
    | Field    | Type        | Null | Key | Default | Extra |
    +----------+-------------+------+-----+---------+-------+
    | stu_id   | int(11)     | NO   | PRI | NULL    |       |
    | stu_name | varchar(20) | YES  |     | NULL    |       |
    | stu_sex  | tinyint(1)  | YES  |     | NULL    |       |
    +----------+-------------+------+-----+---------+-------+
    3 rows in set (0.00 sec)
    
    mysql> show create table example1G
    *************************** 1. row ***************************
           Table: example1
    Create Table: CREATE TABLE `example1` (
      `stu_id` int(11) NOT NULL,
      `stu_name` varchar(20) DEFAULT NULL,
      `stu_sex` tinyint(1) DEFAULT NULL,
      PRIMARY KEY (`stu_id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1
    1 row in set (0.00 sec)
    
    mysql>
    

     

  • 相关阅读:
    手动制作openstack windows镜像
    kolla-ansible部署多节点OpenStack-Pike
    手动制作openstack CentOS 镜像
    VNC Viewer连接打开remote display的VMware虚拟机出现闪退
    Host does not support domain type kvm for virtualization type 'hvm' arch 'x86_64'
    ImportError: No module named 'requests.packages.urllib3'
    使用kolla安装的openstack mariadb为集群所有节点无法启动
    kolla-ansible部署单节点OpenStack-Pike
    墨刀--在线原型设计工具
    Pycharm配置支持vue语法
  • 原文地址:https://www.cnblogs.com/yuxiang-qiwa/p/7989310.html
Copyright © 2011-2022 走看看