mysql-01

数据库:

          概念:

                存储数据的仓库

                本质上是一个文件系统,还是以文件的方式存在服务器的电脑上的。

                所有的关系型数据库都可以使用通用的 SQL 语句进行管理

                DBMS DataBase Management System

        优点:    
               执行效率高
               底层有树结构在里面
               数据库支持 "事务",来解决 业务中存在问题  "转账操作"!
               即使关机了,数据永久保存!

常见数据库

        MySQL:开源免费的数据库,小型的数据库,已经被 Oracle 收购了。

        Oracle:收费的大型数据库,Oracle 公司的产品。

        DB2 IBM 公司的数据库产品,收费的。

        SQL ServerMicroSoft 公司收费的中型的数据库。

        SQLite: 嵌入式的小型数据库。

mysql的基本语法:

        安装mysql之后的登录方式:
             1)方式登录 dos窗口登录   
             2)方式登录 mysql自带的客户端登录

C:\Windows\system32>mysql -uroot -p
Enter password: *********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 16
Server version: 8.0.28 MySQL Community Server - GPL

Copyright (c) 2000, 2022, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

数据库的DDL语句(数据库的定义语句)之库的操作

        1)查询当前mysql自带的数据库:(注:库在我们电脑磁盘上----> 文件夹)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| myee_2203          |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

        2)创建库:

                方式1:

create database javaee;
Query OK, 1 row affected (0.79 sec)
mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| javaee             |
| myee_2203          |
| mysql              |
| performance_schema |
| sys                |
+--------------------+

              方式2:

mysql> create database if not exists javase;
Query OK, 1 row affected (0.50 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| javaee             |
| javase             |
| myee_2203          |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
7 rows in set (0.00 sec)

        3)查询创建库的字符集

mysql> show create database javaee;
+----------+----------------------------------------------------------------------------------------------------------------------------------+
| Database | Create Database                                                                                                                  |
+----------+----------------------------------------------------------------------------------------------------------------------------------+
| javaee   | CREATE DATABASE `javaee` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci */ /*!80016 DEFAULT ENCRYPTION='N' */ |
+----------+----------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

        4)改库的字符集

mysql> alter database javaee default character set gbk;
Query OK, 1 row affected (0.50 sec)

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

        5)删除库

                方式1:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| javaee             |
| javase             |
| myee_2203          |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
7 rows in set (0.00 sec)

mysql> drop database javaee;
Query OK, 0 rows affected (0.53 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| javase             |
| myee_2203          |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

                     方式二:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| javase             |
| myee_2203          |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
6 rows in set (0.00 sec)

mysql> drop database if exists javase;
Query OK, 0 rows affected (0.41 sec)

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| myee_2203          |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.00 sec)

数据库DDL语句(数据库定义语句)之建表,修改表,查询表,删除表...

          1)mysql常见的数据类型
                  int :整数类型默认最大长度11位字符,给int类型的数据的时候,当前存储的值的真实长度

                  varchar(最大支持255个长度):字符串类型

                  date:仅仅是日期类型

                  datetime:日期+时间类型

                  timestap:时间戳

                   double:小数类型 

                    clob:大字符类型          支持 "大文本"

                    blob:大字节类型        最大支持4G

         2)建表:

mysql> use javase;
Database changed
mysql> create table students(
    -> id int,
    -> name varchar(10),
    -> age int,
    -> birthday date,
    -> sex varchar(2),
    -> email varchar(10)
    -> );
Query OK, 0 rows affected (1.44 sec)

        3)查询当前库中有哪些表

mysql> show tables;
+------------------+
| Tables_in_javase |
+------------------+
| students         |
+------------------+
1 row in set (0.11 sec)

        4)查看表的结构 

mysql> desc students;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int         | YES  |     | NULL    |       |
| name     | varchar(10) | YES  |     | NULL    |       |
| age      | int         | YES  |     | NULL    |       |
| birthday | date        | YES  |     | NULL    |       |
| sex      | varchar(2)  | YES  |     | NULL    |       |
| email    | varchar(10) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

        5)修改表的字段名称 

mysql> alter table students change sex gender varchar(2);
Query OK, 0 rows affected (1.44 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc students;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int         | YES  |     | NULL    |       |
| name     | varchar(10) | YES  |     | NULL    |       |
| age      | int         | YES  |     | NULL    |       |
| birthday | date        | YES  |     | NULL    |       |
| gender   | varchar(2)  | YES  |     | NULL    |       |
| email    | varchar(10) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+

         6)修改表的字段类型 modify

mysql> alter table students modify email varchar(50);
Query OK, 0 rows affected (0.50 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc students;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int         | YES  |     | NULL    |       |
| name     | varchar(10) | YES  |     | NULL    |       |
| age      | int         | YES  |     | NULL    |       |
| birthday | date        | YES  |     | NULL    |       |
| gender   | varchar(2)  | YES  |     | NULL    |       |
| email    | varchar(50) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

        7)修改表:给表中添加一个新的字段

mysql> alter table students add socre double(3,1);
Query OK, 0 rows affected, 1 warning (1.21 sec)
Records: 0  Duplicates: 0  Warnings: 1

mysql> desc students;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int         | YES  |     | NULL    |       |
| name     | varchar(10) | YES  |     | NULL    |       |
| age      | int         | YES  |     | NULL    |       |
| birthday | date        | YES  |     | NULL    |       |
| gender   | varchar(2)  | YES  |     | NULL    |       |
| email    | varchar(50) | YES  |     | NULL    |       |
| socre    | double(3,1) | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
7 rows in set (0.00 sec)

        8)复制一张表

mysql> create table teachers like students;
Query OK, 0 rows affected, 1 warning (3.14 sec)

mysql> show tables;
+------------------+
| Tables_in_javase |
+------------------+
| students         |
| teachers         |
+------------------+
2 rows in set (0.00 sec)

        9)删除表

                方式1:

mysql> drop table students;
Query OK, 0 rows affected (1.41 sec)

mysql> show tables;
+------------------+
| Tables_in_javase |
+------------------+
| teachers         |
+------------------+
1 row in set (0.00 sec)

        方式2:

mysql> drop table if exists teachers;
Query OK, 0 rows affected (1.23 sec)

mysql> show tables;
Empty set (0.00 sec)

        10)删除表单一行:

mysql> desc students;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| id       | int         | YES  |     | NULL    |       |
| username | varchar(20) | YES  |     | NULL    |       |
| gender   | varchar(2)  | YES  |     | NULL    |       |
| birthday | date        | YES  |     | NULL    |       |
| email    | varchar(50) | YES  |     | NULL    |       |
| age      | int         | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
6 rows in set (0.00 sec)

mysql> alter table students drop id;
Query OK, 0 rows affected (3.11 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc students;
+----------+-------------+------+-----+---------+-------+
| Field    | Type        | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| username | varchar(20) | YES  |     | NULL    |       |
| gender   | varchar(2)  | YES  |     | NULL    |       |
| birthday | date        | YES  |     | NULL    |       |
| email    | varchar(50) | YES  |     | NULL    |       |
| age      | int         | YES  |     | NULL    |       |
+----------+-------------+------+-----+---------+-------+
5 rows in set (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值