首页 > 代码库 > 2.MySQL数据库的基本使用和管理

2.MySQL数据库的基本使用和管理

1.mysql数据存储结构

  1.1由“数据库”——》“表”——》“数据”组成

    1.2管理数据库需要使用SQL(结构化查询语言)

    SQL语言分为:

      1 数据查询语言DQL

       按照指定的组合、条件表达式或排序检索已存在的数据库中数据,不改变数据库中数据。

       命令:SELECT…FROM…WHERE…

      2 数据操纵语言DML  

       对已经存在的数据库进行元组的插入、删除、修改等操作

       命令:INSERT、UPDATE、DELETE

      3 数据定义语言DDL  

        创建、修改或删除数据库中各种对象,包括表、视图、索引等。

        命令:CREATE TABLE , CREATE VIEW, CREATE INDEX、ALTER TABLE ,
                    DROP TABLE , DROP VIEW, DROP INDEX 

      4 数据控制语言DCL

       用来授予或收回访问数据库的某种特权、控制数据操纵事务的发生时间及效果、对数据库进行监视

       命令:GRANT、REVOKE、COMMIT、ROLLBACK

2.查询所有数据库

  通过命令行登录数据库,输入第一个查看数据库的sql语句

    mysql> show databases;  --默认显示4个数据库

      +--------------------+
      | Database |
      +--------------------+
      | information_schema |  --mysql元数据,基础数据
      | mysql |          --mysql配置数据库,其中包含用户信息(用户名和密码,权限管理)
      | performance_schema |  --mysql数据库软件的运行数据,日志信息,性能数据
      | test |           --测试数据库,空数据库
      +--------------------+

3,创建数据库

    3.1 sql语句为:create database    数据库名称;

    mysql> create database first;  --first为数据库名称

      Query OK, 1 row affected (0.01 sec)

    3.2 创建数据库时设置数据库的字符

     mysql> create database two    --此时不需输入分号,因为分号意味这语句结束,直接回车

        -> default character set utf8;  --设置默认字符为utf-8
     Query OK, 1 row affected (0.00 sec)

    3.3 查看数据库的默认字符集

    mysql> show create database first;     --first为数据库名称

    +----------+---------------------------------------------------------------+
    | Database | Create Database |
    +----------+---------------------------------------------------------------+
    | first | CREATE DATABASE `first` /*!40100 DEFAULT CHARACTER SET gbk */ |
    +----------+---------------------------------------------------------------+
    1 row in set (0.00 sec)

    3.4 删除数据库

    mysql> drop database two;      --two为数据库名称

    Query OK, 0 rows affected (0.17 sec)

    3.5 修改数据库的默认字符集

    mysql> alter database first default character set utf8;     --修改first数据库的字符为utf-8

    Query OK, 1 row affected (0.00 sec)  

4.表管理

    4.1选择数据库  

      mysql> use first;  --first为数据库名称
      Database changed

    4.2创建表

      mysql> create table student(    --student为表名称
        -> sid int,           --sid为字段名称 编号,int是字段类型  整形
        -> sname varchar(20),     --sname为字段名称 姓名,varchar(20)是字段类型 字符串长度是20
        -> sage int          --sage为字段名称 年龄,int是字段类型,整形
        -> );
      Query OK, 0 rows affected (0.14 sec)

     4.3查看所有表

    mysql> show tables;

      +-----------------+
      | Tables_in_first |
      +-----------------+
      | student |
      +-----------------+
      1 row in set (0.00 sec)

     4.4查看一张表的表结构

    mysql> desc student;    --student表名称

      +-------+-------------+------+-----+---------+-------+
      | Field | Type | Null | Key | Default | Extra |
      +-------+-------------+------+-----+---------+-------+
      | sid | int(11) | YES | | NULL | |
      | sname | varchar(20) | YES | | NULL | |
      | sage | int(11) | YES | | NULL | |
      +-------+-------------+------+-----+---------+-------+
      3 rows in set (0.05 sec)

     4.5删除表

    mysql> drop table student;

      Query OK, 0 rows affected (0.11 sec)

      4.6修改表

    mysql> alter table student add column sgender varchar(2);    --向student表中增加一个sgender的字段,column可以省略

      Query OK, 0 rows affected (0.06 sec)
      Records: 0 Duplicates: 0 Warnings: 0

    

      mysql> alter table student drop sgender;      --删除student表中sgender这个字段,column可以省略

      Query OK, 0 rows affected (0.06 sec)
      Records: 0 Duplicates: 0 Warnings: 0

      

      mysql> alter table student modify sname varchar(10);    --修改student表中sname字段的类型为varchar(10)
      Query OK, 0 rows affected (0.08 sec)
      Records: 0 Duplicates: 0 Warnings: 0

      

      mysql> alter table student change sname newsname varchar(20);    --修改student表中sname字段的名称,变为newsname
      Query OK, 0 rows affected (0.08 sec)
      Records: 0 Duplicates: 0 Warnings: 0

 

2.MySQL数据库的基本使用和管理