MySQL数据库常用命令(增删改查)

目录

一、MYSQL常用类型(int、bigint、double、decimal、varchar、datetime...)

1、整型

2、浮点型

3、字符串类型

4、日期类型

 二、MySql常用命令


一、MYSQL常用类型(int、bigint、double、decimal、varchar、datetime...)

1、整型

数据类型        大小(说明)        对应类型

BIT[ (M) ]        M指定位 数,默认 为1

        二进制数,M范围从1到64, 存储数值范围从0到2^M-1

        常用Boolean对应BIT,此时 默认是1位,即只能存0和1

TINYINT        1字节        Byte

SMALLINT        2字节        Short

INT        4字节        Integer

BIGINT        8字节        Long

2、浮点型

FLOAT(M, D)       4字节(单精度,M指定长度,D指定 小数位数。会发生精度丢失)        Float

DOUBLE(M, D)        8字节        Double

DECIMAL(M, D)        M/D最大 值+2(双精度,M指定长度,D表示 小数点位数。精确数值)        BigDecimal

NUMERIC(M, D)        M/D最大 值+2        和DECIMAL一样        BigDecimal

注:DECIMAL相当于通过字符串的方式来表示浮点数。优势就是能够精确表示,精确计算。但是劣势就是计算时候消耗的时间更多,存储空间也更多。所以我们除非是特别需要,才考虑使用DECIMAL。

3、字符串类型

VARCHAR (SIZE)        0-65,535字节(可变长度字符串)        String

TEXT        0-65,535字节(长文本数据)        String

MEDIUMTEXT        0-16 777 215字节(中等长度文本数据)        String

BLOB        0-65,535字节(二进制形式的长文本数据)        byte[]

注意:

  1. varchar(20),表示这个字段最多存20个字符,注意是字符不是字节
  2. 表格中上面三个存的是文本数据,而BLOB存的是二进制数

4、日期类型

DATETIME        8 字 节(范围从1000到9999年,不会进行时区的 检索及转换。)        

        java.util.Date、 java.sql.Timestamp

TIMESTAMP        4 字 节(范围从1970到2038年,自动检索当前时 区并进行转换。)

        java.util.Date、 java.sql.Timestamp

时间戳:以1970年1月1日0时0分0秒作为基准时刻,计算当前时刻和基准时刻的秒数之差。

 二、MySql常用命令

终端进入Mysql命令:

开启服务:net start mysql

进入数据库:mysql -h localhost -u root -p 【-h后跟服务器名(可省略),-u后跟用户名】

输入密码进入MySQL后,不可清屏,只能退出用终端清屏命令:cls

1、查看所有数据库:

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mydatabase         |
| mysql              |
| performance_schema |
| sakila             |
| sys                |
| test               |
| world              |
+--------------------+
8 rows in set (0.00 sec)

2、 创建一个新的数据库:

mysql> create database test;
Query OK, 1 row affected (0.01 sec)

3、删除一个数据库: 

mysql> drop database test;
Query OK, 0 rows affected (0.04 sec)

4、选中一个数据库: 

mysql> use test;
Database changed

5、创建表

mysql> create table student(ID int,Name varchar(20));
Query OK, 0 rows affected (0.07 sec)

6、查看表 

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| student        |
+----------------+
1 row in set (0.01 sec)

7、查看表结构(描述)

mysql> desc student;
+-------+-------------+------+-----+---------+-------+
| Field | Type        | Null | Key | Default | Extra |
+-------+-------------+------+-----+---------+-------+
| ID    | int         | YES  |     | NULL    |       |
| Name  | varchar(20) | YES  |     | NULL    |       |
+-------+-------------+------+-----+---------+-------+
2 rows in set (0.02 sec)

8、查看当前数据库字符集(可通过配置文件my.ini修改字符集设置)

mysql> show variables like 'character%';
+--------------------------+-------------------------------------------+
| Variable_name            | Value                                     |
+--------------------------+-------------------------------------------+
| character_set_client     | gbk                                       |
| character_set_connection | gbk                                       |
| character_set_database   | utf8mb4                                   |
| character_set_filesystem | binary                                    |
| character_set_results    | gbk                                       |
| character_set_server     | utf8mb4                                   |
| character_set_system     | utf8mb3                                   |
| character_sets_dir       | D:\MySQL\MySQL Server 8.0\share\charsets\ |
+--------------------------+-------------------------------------------+
8 rows in set, 1 warning (0.02 sec)

9、删除表

mysql> drop table student;
Query OK, 0 rows affected (0.02 sec)

10、增加元素

mysql> insert into student value(1,"张三");
Query OK, 1 row affected (0.01 sec)

11.指定列插入元素(未指定列默认为null)

mysql> insert student(Name) values('lisi');
Query OK, 1 row affected (0.01 sec)

12、插入多条数据

mysql> insert student values(2,'zhangsan'),(3,'xiaohong');
Query OK, 2 rows affected (0.01 sec)
Records: 2  Duplicates: 0  Warnings: 0

 13、查询全部

mysql> select * from student;
+------+----------+
| ID   | Name     |
+------+----------+
|    1 | 张三     |
| NULL | lisi     |
|    2 | zhangsan |
|    3 | xiaohong |
+------+----------+
4 rows in set (0.01 sec)

14、指定列查询

mysql> select ID from student;
+------+
| ID   |
+------+
|    1 |
| NULL |
|    2 |
|    3 |
+------+
4 rows in set (0.00 sec)

 15、查询时起别名

mysql> select ID as num from student;
+------+
| num  |
+------+
|    1 |
| NULL |
|    2 |
|    3 |
+------+
4 rows in set (0.00 sec)

16、去重查询

mysql> select distinct ID from student;
+------+
| ID   |
+------+
|    1 |
| NULL |
|    2 |
|    3 |
+------+
4 rows in set (0.01 sec)

 17、排序查询

mysql> select * from student order by ID;
+------+----------+
| ID   | Name     |
+------+----------+
| NULL | lisi     |
|    1 | 张三     |
|    2 | zhangsan |
|    2 | xiaosi   |
|    3 | xiaohong |
+------+----------+
5 rows in set (0.00 sec)

18、条件查询

select * from 表名 where 条件;

常用运算符: 

>, >=, <, <=        大于,大于等于,小于,小于等于

=        等于,NULL 不安全,例如 NULL = NULL 的结果是 NULL

<=>        等于,NULL 安全,例如 NULL <=> NULL 的结果是 TRUE(1)

!=, <>        不等于        

BETWEEN a0 AND a1        范围匹配,[a0, a1],如果 a0 <= value <= a1,返回 TRUE(1)

IN (option, …)        如果是 option 中的任意一个,返回 TRUE(1)

IS NULL        是 NULL

IS NOT NULL        不是 NULL

LIKE        模糊匹配。% 表示任意多个(包括 0 个)任意字符;_ 表示任意一个字 符

注意:SQL中 ‘ = ’ 号可不是赋值了,就是等于

AND        多个条件必须都为 TRUE(1),结果才是 TRUE(1)

OR        任意一个条件为 TRUE(1), 结果为 TRUE(1)

NOT        条件为 TRUE(1),结果为 FALSE(0

19、分页查询

mysql> select * from student limit n;从0也开始查询到n页
mysql> select * from student limit s,n;从s页开始查询到n页
mysql> select * from student limit n offset s;同上

 20、修改数据(更新)

update 表名 set 列名 = 值,列名 = 值...[WHERE ...] [ORDER BY ...] [LIMIT ...]
mysql> update student set ID=5,Name='西奥' where Name='xiaosi';
Query OK, 1 row affected (0.01 sec)
Rows matched: 1  Changed: 1  Warnings: 0

21、删除元素

DELETE FROM table_name [WHERE ...] [ORDER BY ...] [LIMIT ...]
mysql> delete from student where Name='lisi';
Query OK, 1 row affected (0.01 sec)

 22、查看警告内容

mysql> show warnings;
Empty set (0.01 sec)

 借鉴自:https://blog.csdn.net/m0_67401228/article/details/126066941

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值