MySQL基础

SQL:Structured Query Language,是结构化查询语言,用于管理关系数据库管理系统。
SQL作用:访问和处理数据库,包括数据插入、查询、更新和删除。
结构化查询语言SQL包括:数据定义语言(DDL),数据查询语言(DQL),数据操纵语言(DML),数据控制语言(DCL)

以下记录一些MySQL基本操作和数据类型以便查阅方便。

一、基本操作

 1.数据定义语言(DDL)

用于定义数据库中表、字段、索引等对象的结构和属性的语言。

#1数据定义语言(DDL)

#1.1数据库
#1.1.1创建数据库
CREATE  DATABASE  my_database;
#1.1.2使用数据库
USE  my_database;
#1.1.3删除数据库
DROP  DATABASE  my_database;

#1.2表
#1.2.1创建表:
CREATE  TABLE  users  (
     id  INT  NOT NULL,
     username  VARCHAR(50)  NOT  NULL,
     email  VARCHAR(100)  NOT  NULL  UNIQUE,
     password  VARCHAR(100)  NOT  NULL,
     primary key(id)
);
#1.2.2创建表(带自增主键和默认值):
CREATE  TABLE  addresses  (
     id  INT  AUTO_INCREMENT  PRIMARY  KEY,
     user_id  INT  NOT  NULL,
     street  VARCHAR(100)  NOT  NULL,
     city  VARCHAR(50)  NOT  NULL,
     state  VARCHAR(50)  NOT  NULL,
     zip_code  VARCHAR(10)  NOT  NULL,
     country  VARCHAR(50)  NOT  NULL,
     FOREIGN  KEY  (user_id)  REFERENCES  users(id)
);
#1.2.3删除表:
DROP  TABLE  addresses;

#1.3索引
#1.3.1创建索引
CREATE  INDEX  idx_users_email  ON  users  (email);
#1.3.2删除索引
DROP  INDEX  idx_users_email;

#1.4视图
#1.4.1创建视图
CREATE  VIEW  user_addresses  AS
SELECT  users.id  AS  user_id,
users.username  AS  user_name,
addresses.city,
addresses.country
FROM  users
JOIN  addresses  ON  users.id  =  addresses.user_id;
#1.4.2删除视图
DROP  VIEW  user_addresses;

 2.数据查询语言(DQL)

数据分析最常用,用于查询需要的数据。

#2数据查询语言(DQL)

#2.1查询所有记录
SELECT * FROM table_name;

#2.2使用逻辑运算符
SELECT * FROM table_name 
WHERE condition1 AND condition2;
SELECT * FROM table_name 
WHERE condition1 OR condition2;

#2.3排序查询结果:
SELECT * FROM table_name 
ORDER BY column_name;
SELECT * FROM table_name 
ORDER BY column_name DESC;

#2.4使用聚合函数进行计算:
SELECT COUNT(*) FROM table_name;
SELECT SUM(column_name) FROM table_name;
SELECT AVG(column_name) FROM table_name;
SELECT MAX(column_name) FROM table_name;
SELECT MIN(column_name) FROM table_name;

#2.5分组查询:
SELECT column1, SUM(column2) FROM table_name 
GROUP BY column1;

#2.6连接多个表查询:
SELECT * FROM 
table1 JOIN table2 
ON table1.column = table2.column;

#2.7使用子查询:
SELECT column1 FROM table_name 
WHERE column2 IN (SELECT column2 FROM table2);

#2.8使用通配符模糊查询
#2.8.1使用通配符%
#2.8.1.1查询以abc为开头的数据
SELECT * FROM table_name 
WHERE column_name LIKE 'abc%';
#2.8.1.2查询以abc为结尾的数据
SELECT * FROM table_name 
WHERE column_name LIKE '%abc';
#2.8.1.3查询包含abc的数据
SELECT * FROM table_name 
WHERE column_name LIKE '%abc%';
#2.8.1.4查询如XXaXXbcXX的数据
SELECT * FROM table_name 
WHERE column_name LIKE '%a%bc%';
#2.8.2使用通配符_
#2.8.2.1查询以abc为开头的四位数据
SELECT * FROM table_name 
WHERE column_name LIKE 'abc_';

 3.数据操纵语言(DML)

用于对数据库中的数据进行添加、修改和删除操作。

#3数据操纵语言(DML)
#3.1数据
#3.1.1添加数据(INSERT):
INSERT  INTO  table_name  (column1,  column2,  column3)  
VALUES  (value1,  value2,  value3);
#3.1.2修改数据(UPDATE):
UPDATE  table_name  
SET  column1  =  value1,  column2  =  value2  WHERE  condition;
#3.1.3删除数据(DELETE):
DELETE  FROM  table_name  WHERE  condition;

#3.2表
#3.2.1删除表(删除数据和表结构)
DROP  TABLE  table_name;
#3.2.2删除表(删除数据,保留表结构)
DELETE  FROM  table_name

#3.3列
#3.3.1添加列
ALTER  TABLE  table_name  ADD  column_name  data_type;
#3.3.2修改列
ALTER  TABLE  table_name  MODIFY  column_name  data_type;

#3.4约束
#3.4.1添加约束(例如主键和外键):
ALTER  TABLE  table_name  
ADD  PRIMARY  KEY  (column_name);
ALTER  TABLE  table_name  
ADD  FOREIGN  KEY  (column_name)  REFERENCES  another_table(another_column);
#3.4.2删除约束:
ALTER  TABLE  table_name  DROP  CONSTRAINT  constraint_name;

#3.5索引
#3.5.1添加索引:
CREATE  INDEX  index_name  ON  table_name  (column_name);
#3.5.2删除索引:
DROP  INDEX  index_name;

 4.数据控制语言(DCL)

控制对数据库的访问权限。它允许数据库管理员授予、撤销和修改用户对数据库对象的访问权限。

#创建角色
CREATE  ROLE  role1;

#创建用户
CREATE  USER  user1  IDENTIFIED  BY  'password1';

#授予角色权限
GRANT  role1  TO  user1;

#查询用户权限
SELECT  *  FROM  dba_users;

#删除角色
DROP  ROLE  role1;

#删除用户
DROP  USER  user1;

二、数据类型

以下内容参考自:MySQL 数据类型 | 菜鸟教程 (runoob.com)

1.数值类型

类型大小范围(有符号)范围(无符号)用途
TINYINT1 Bytes(-128,127)(0,255)小整数值
SMALLINT2 Bytes(-32 768,32 767)(0,65 535)大整数值
MEDIUMINT3 Bytes(-8 388 608,8 388 607)(0,16 777 215)大整数值
INT或INTEGER4 Bytes(-2 147 483 648,2 147 483 647)(0,4 294 967 295)大整数值
BIGINT8 Bytes

(-9,223,372,036,854,775,808,

9 223 372 036 854 775 807)

(0,18 446 744 073 709 551 615)极大整数值

FLOAT

(不推荐)

4 Bytes

(-3.402 823 466 E+38,-1.175 494 351 E-38),

0,

(1.175 494 351 E-38,3.402 823 466 351 E+38)

0,(1.175 494 351 E-38,3.402 823 466 E+38)单精度
浮点数值
DOUBLE
(不推荐)
8 Bytes

(-1.797 693 134 862 315 7 E+308,

-2.225 073 858 507 201 4 E-308),0,

(2.225 073 858 507 201 4 E-308,

1.797 693 134 862 315 7 E+308)

0,(2.225 073 858 507 201 4 E-308,

1.797 693 134 862 315 7 E+308)

双精度
浮点数值

DECIMAL

(推荐使用)

DECIMAL(M,D) ,如果M>D,为M+2否则为D+2依赖于M和D的值依赖于M和D的值小数值

2.日期和时间类型

类型大小
( bytes)
范围格式用途
DATE31000-01-01/9999-12-31YYYY-MM-DD日期值
TIME3'-838:59:59'/'838:59:59'HH:MM:SS时间值或持续时间
YEAR11901/2155YYYY年份值
DATETIME8'1000-01-01 00:00:00' 到 '9999-12-31 23:59:59'YYYY-MM-DD hh:mm:ss混合日期和时间值

3.字符串类型

类型大小用途
CHAR0-255 bytes定长字符串

VARCHAR

(推荐直接使用)

0-65535 bytes可变长度字符串
TINYBLOB0-255 bytes不超过 255 个字符的二进制字符串
TINYTEXT0-255 bytes短文本字符串
BLOB0-65 535 bytes二进制形式的长文本数据
TEXT0-65 535 bytes长文本数据
MEDIUMBLOB0-16 777 215 bytes二进制形式的中等长度文本数据
MEDIUMTEXT0-16 777 215 bytes中等长度文本数据
LONGBLOB0-4 294 967 295 bytes二进制形式的极大文本数据
LONGTEXT0-4 294 967 295 bytes极大文本数据

4.json

json数组

json对象

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值