day 01 初识Mysql以及DDL数据定义语言

由于sql语句不区分大小写,为了书写方便,本文所有命令统一使用小写

目录

一、简介

数据库

 数据库管理系统

SQL 

MySQL的安装

二、基本操作

1、登录数据库

2、退出mysql数据库

3、查看mysql版本

4、查看所有数据库

5、使用数据库

6、查看当前数据库

7,查看数据库有哪些表

8、查看表的结构

9、导入数据

10、创建数据库

三、 DDL语句

1、create

2、drop

3、alter


一、简介

  • 数据库

英文单词DataBase,简称DB。按照一定格式存储数据的一些文件的组合


  •  数据库管理系统

英文单词DataBaseManagement,简称DBMS。是专门用于管理数据库中 数据的,可以对数据库当中的数据进行增删改查。 


  • SQL 

结构化查询语言,是由程序员编写的,DBMS 通过执行SQL语句对数据库中的数据进行增删改查

数据库、数据库管理系统、SQL之间的关系:DBMS执行SQL对DB进行操作管理 


  • MySQL的安装

安装教程请参考

二、基本操作

1、登录数据库

  • Windows+R,打开cmd命令行窗口
  • 输入mysql -uroot -p(若想隐藏密码可以先回车再输入密码)密码,回车
运行结果
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 15
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>

2、退出mysql数据库

exit 回车

3、查看mysql版本

select version();
mysql> select version();
+-----------+
| version() |
+-----------+
| 8.0.28    |
+-----------+
1 row in set (0.00 sec)

4、查看所有数据库

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

mysql默认自带了4个数据库,student是自己创建的。


5、使用数据库

use 数据库名;        

mysql> use student;
Database changed

6、查看当前数据库

select database();

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

7,查看数据库有哪些表

show tables;

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

8、查看表的结构

 desc 表名; 

mysql> desc t_student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| no    | int         | YES  |     | NULL    |       |
| name  | varchar(32) | YES  |     | NULL    |       |
| sex   | char(1)     | YES  |     | 男      |       |
| age   | int         | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
4 rows in set (0.05 sec)

9、导入数据

source sql文件路径    路径不能带有中文


10、创建数据库

create database  数据库名; 

三、 DDL语句

DDL语句是数据定义语言,包括create(新建)、drop(删除)、alter(修改),主要是对表的结构进行操作进行。


1、create

create table 表名(字段名1 数据类型, 字段名2 数据类型, 字段名3 数据类型);

因为不出现“;”不会运行,所以一般会分行写,表名建议以t_ 开头,增加可读性。

create table 表名(

字段名1 数据类型(长度),

字段名2 数据类型(长度),

字段名3 数据类型(长度)

);

  •  常见的数据类型
      数据类型                                      解析
       varchar

可变长度的字符串,比较智能,节省空间。会根据实际的数据长度动态分配空间。

能节省空间,但速度慢

         char定长字符串,不管实际的数据长度是多少。分配固定长度的空间去存储数据。
 使用不恰当的时候,可能会导致空间的浪费。
          int数字中的整数型,最长11
       bigint数字中的长整型
        float单精度浮点型数据
       double双精度浮点型数据
       date短日期类型
     datetime长日期类型

例子:

创建一个学生表,包含学号,姓名,性别,年龄

create table t_student(
no int(32),
name varchar(32),
sex char(1),
age int(3)
);
  • 初定义默认值

默认性别为男,插入数据时,若性别为男,可以不用插入该字段的数据。

create table t_student(
no int(32),
name varchar(32),
sex char(1) default '男',
age int(3)
);

表的结构就是上面的t_student表 


2、drop

用于删除表

  • drop table 表名;        #表存在时,删除表,不存在时会报错
  • drop table if exists 表名;         #表存在时,删除表,表不存在时不会报错
mysql> drop table t_student;
Query OK, 0 rows affected (0.08 sec)

mysql> drop table t_student;
ERROR 1051 (42S02): Unknown table 'student.t_student'

-----------------------------------------------------

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

mysql> drop table if exists t_student;
Query OK, 0 rows affected, 1 warning (0.04 sec)

3、alter

作用:增加/删除/修改表结构,不影响表中的数据(极少用到)在表的结构设计阶段会用到

  • 添加字段

alter table 表名 add 字段名 数据类型(长度)默认值;

#添加email字段,默认值为null

mysql> alter table t_student add email varchar(30) null;
Query OK, 0 rows affected (0.09 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc t_student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| no    | int         | YES  |     | NULL    |       |
| name  | varchar(32) | YES  |     | NULL    |       |
| sex   | char(1)     | YES  |     | 男      |       |
| age   | int         | YES  |     | NULL    |       |
| email | varchar(30) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
5 rows in set (0.04 sec)
  • 修改字段
  • alter table 表名 modify 字段名 新数据类型(新长度)  新默认值;      #修改字段类型
#全部名字都是三个字时,改为定长char(3)

mysql> alter table t_student modify name char(3);
Query OK, 0 rows affected (0.13 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc t_student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| no    | int         | YES  |     | NULL    |       |
| name  | char(3)     | YES  |     | NULL    |       |
| sex   | char(1)     | YES  |     | 男      |       |
| age   | int         | YES  |     | NULL    |       |
| email | varchar(30) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
5 rows in set (0.04 sec)
  • alter table 表名 change 旧字段名 新字段名 新数据类型;             #修改字段名 
#将name改为studentname

mysql> alter table t_student change name studentname char(3);
Query OK, 0 rows affected (0.08 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc t_student;
+-------------+-------------+------+-----+---------+-------+
| Field       | Type        | Null | Key | Default | Extra |
+-------------+-------------+------+-----+---------+-------+
| no          | int         | YES  |     | NULL    |       |
| studentname | char(3)     | YES  |     | NULL    |       |
| sex         | char(1)     | YES  |     | 男      |       |
| age         | int         | YES  |     | NULL    |       |
| email       | varchar(30) | YES  |     | NULL    |       |
+-------------+-------------+------+-----+---------+-------+
5 rows in set (0.01 sec)
  • 修改表名

alter table 旧表名 rename to 新表名;

#将表名改为t_newstudent 

mysql> alter table t_student rename to t_newstudent;
Query OK, 0 rows affected (0.07 sec)

mysql> show tables;
+-------------------+
| Tables_in_student |
+-------------------+
| t_newstudent      |
+-------------------+
1 row in set (0.04 sec)
  • 删除字段

alter table 表名 drop 字段名;

#删除email字段

mysql> alter table t_newstudent drop email;
Query OK, 0 rows affected (0.05 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> desc t_newstudent;
+-------------+---------+------+-----+---------+-------+
| Field       | Type    | Null | Key | Default | Extra |
+-------------+---------+------+-----+---------+-------+
| no          | int     | YES  |     | NULL    |       |
| studentname | char(3) | YES  |     | NULL    |       |
| sex         | char(1) | YES  |     | 男      |       |
| age         | int     | YES  |     | NULL    |       |
+-------------+---------+------+-----+---------+-------+
4 rows in set (0.04 sec)

未完待续。。。。。。。。。。。。。。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

冷烬亿下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值