MySQL 常用数据库基本操作

一、MySQL 命令操作

1、新建、删除、修改数据表等 操作命令 (模糊查询)

mysql> CREATE DATABASE RUNOOB;         (创建数据库)  // CREATE DATABASE 数据库名; 
mysql> USE RUNOOB;                     (选择数据库)  // USE 数据库名; 
mysql> DROP DATABASE RUNOOB;           (删除数据库)  // DROP DATABASE 数据库名; 
mysql> DROP TABLE runoob_tbl           (删除数据表)  // DROP TABLE 数据表名
mysql> SELECT * FROM runoob_tbl;       (查询 runoob_tbl 表中所有数据)

mysql> DELETE FROM runoob_tbl WHERE id=1;                        (删除数据)
mysql> UPDATE runoob_tbl SET title='学习 C++' WHERE id=3;        (修改数据)
mysql> UPDATE runoob_tbl SET name='张三';                        (设置name这个字段的所有数据值为张三)

mysql> SELECT * FROM runoob_tbl WHERE author='菜鸟教程';          (查询author='菜鸟教程'的数据)

LINK (模糊查询)
mysql> SELECT * FROM  runoob_tbl  WHERE author LIKE '%COM';      (获取 author 字段中以 COM 为结尾的所有记录)
mysql> SELECT * FROM  runoob_tbl  WHERE author LIKE 'COM%';      (获取 author 字段中以 COM 为开头的所有记录)
mysql> SELECT * FROM  runoob_tbl  WHERE author LIKE '%COM%';     (获取 author 字段中包含 COM 的所有记录)
mysql> SELECT * FROM  runoob_tbl  WHERE author NOT LIKE '%COM%'; (获取 author 字段中不包含 COM 的所有记录)

注: LINK 扩展查询

'_a_' //三位且中间字母是a的
'_a' //两位且结尾字母是a的
'a_' //两位且开头字母是a的

2、新建数据表和数据插入

(插入数据)-----------------------------------------------------------------------------------------------------------
INSERT INTO `zfw_user` VALUES 
('1', '张三', '0', '男', '20', '159xxxx0519', '140************255', '北京市丰台区XXXXXXX', '/uploads/pic/1.jpg', 
'xinlang@163.com', '曾经的回忆', '0', '2020-07-01 10:51:32', '2020-07-01 10:51:35', '2020-07-01 10:51:37');

mysql>INSERT INTO table_name 
->( field1, field2,...fieldN )
->VALUES
->( value1, value2,...valueN );

(创建数据表)-----------------------------------------------------------------------------------------------------------
mysql> CREATE TABLE `zfw_user` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '姓名',
  `pid` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '上级ID',
  `sex` enum('男','女') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '男' COMMENT '性别',
  `age` tinyint(3) unsigned NOT NULL DEFAULT '20' COMMENT '年龄',
  `phone` char(15) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '手机号码',
  `card` varchar(20) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '身份号码',
  `address` varchar(100) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '家庭住址',
  `pic` varchar(200) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '身份证照片',
  `email` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '邮箱',
  `content` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '个人简介',
  `is_check` enum('0','1') COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '0' COMMENT '是否审核,0未审核,1审核',
  `created_at` timestamp NULL DEFAULT NULL,
  `updated_at` timestamp NULL DEFAULT NULL,
  `deleted_at` timestamp NULL DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

(创建数据表中的个别单词含义解释)  ---------------------------------------------------------------------------------------
unsigned                        (无符号)
NOT NULL                        (不为空)
AUTO_INCREMENT                  (自增)
COMMENT '姓名'                  (备注信息)
DEFAULT '0'                     (默认信息)
PRIMARY KEY (`id`)              (主键id)
AUTO_INCREMENT=1                (从1开始自增)
ENGINE=MyISAM                   (默认存储引擎),存储引擎InnoDB与MyISAM两种(InnoDB支持事务,MyISAM不支持)
CHARSET=utf8mb4                 (字符集)
COLLATE=utf8mb4_unicode_ci      (排序规则)

区别:
utf8mb4_unicode_ci:
基于标准的Unicode来排序和比较,能够在各种语言之间精确排序,在特殊情况下,
Unicode排序规则为了能够处理特殊字符的情况,实现了略微复杂的排序算法,所以兼容度比较高,但是性能不高。

utf8mb4_general_ci:
没有实现Unicode排序规则,在遇到某些特殊语言或者字符集,排序结果可能不一致,但是在比较和排序的时候速度更快。

二、MySQL 数据类型

查阅手册
MySQL中定义数据字段的类型对你数据库的优化是非常重要的。

MySQL支持多种类型,大致可以分为三类:数值日期/时间字符串(字符)类型。

数值类型
类型 大小 范围(有符号) 范围(无符号) 用途
TINYINT 1 byte (-128,127) (0,255) 小整数值
SMALLINT 2 bytes (-32 768,32 767) (0,65 535) 大整数值
MEDIUMINT 3 bytes (-8 388 608,8 388 607) (0,16 777 215) 大整数值
INT或INTEGER 4 bytes (-2 147 483 648,2 147 483 647) (0,4 294 967 295) 大整数值
BIGINT 8 bytes 查阅手册 查阅手册 极大整数值
FLOAT 4 bytes 查阅手册 查阅手册 单精度浮点数值
DOUBLE 8 bytes 查阅手册 查阅手册 双精度浮点数值
DECIMAL DECIMAL(M,D) M>D,为M+2否则为D+2值 M>D,为M+2否则为D+2值 小数值
日期和时间类型

表示时间值的日期和时间类型为DATETIME、DATE、TIMESTAMP、TIME和YEAR。
每个时间类型有一个有效值范围和一个"零"值,当指定不合法的MySQL不能表示的值时使用"零"值。
TIMESTAMP类型有专有的自动更新特性,将在后面描述。

类型 大小 范围 格式 用途
DATE 3 1000-01-01/9999-12-31 YYYY-MM-DD 日期值
TIME 3 '-838:59:59'/'838:59:59' HH:MM:SS 时间值或持续时间
YEAR 1 1901/2155 YYYY 年份值
DATETIME 8 1901/2155 YYYY-MM-DD HH:MM:SS 混合日期和时间值
TIMESTAMP 4 查阅手册 YYYYMMDD HHMMSS 混合日期和时间值,时间戳
字符串类型

字符串类型指CHAR、VARCHAR、BINARY、VARBINARY、BLOB、TEXT、ENUM和SET。

类型 大小 范围(有符号)
CHAR 0-255 bytes 定长字符串
VARCHAR 0-65535 bytes 变长字符串
TINYBLOB 0-255 bytes 不超过 255 个字符的二进制字符串
TINYTEXT 0-255 bytes 短文本字符串
BLOB 0-65 535 bytes 二进制形式的长文本数据
TEXT 0-65 535 bytes 长文本数据
MEDIUMBLOB 0-16 777 215 bytes 二进制形式的中等长度文本数据
MEDIUMTEXT 0-16 777 215 bytes 中等长度文本数据
LONGBLOB 0-4 294 967 295 bytes 二进制形式的极大文本数据
LONGTEXT 0-4 294 967 295 bytes 极大文本数据

三、MySQL连接

命令如下:

mysql -h localhost -u root -p                        执行输入mysql -h localhost -u root -p 回车
C:\Users\asus>mysql -h localhost -u root -p          或者win+r 运行,输入cmd后,输入mysql -h localhost -u root -p 后回车
mysql> exit                                          退出MySQL 输入exit

这里以win7系统为例。
1、使用WIN+R打开运行窗口,输入mysql -h localhost -u root -p,打开进入cmd窗口。
2、输入密码,密码为空,则直接回车(前提必须启动数据库)。
如图所示


运行窗口

输入密码

进入数据库界面
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。