楼主: 时光人
1993 13

数据库很简单, Mysql数据库基本SQL语法实践操作非常详细值得学习 [推广有奖]

  • 3关注
  • 34粉丝

院士

23%

还不是VIP/贵宾

-

威望
1
论坛币
26907 个
通用积分
428.9260
学术水平
95 点
热心指数
109 点
信用等级
91 点
经验
39960 点
帖子
1629
精华
3
在线时间
579 小时
注册时间
2019-2-25
最后登录
2023-4-26

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

CDA网校:数据科学、人工智能从业者的在线大学。
数据科学(Python/R/Julia)数据分析、机器学习、深度学习

MySQL

什么是数据库?

数据库(Database)是按照数据结构来组织、存储和管理数据的仓库。

每个数据库都有一个或多个不同的 API 用于创建,访问,管理,搜索和复制所保存的数据。

我们也可以将数据存储在文件中,但是在文件中读写数据速度相对较慢。

所以,现在我们使用关系型数据库管理系统(RDBMS)来存储和管理的大数据量。所谓的关系型数据库,是建立在关系模型基础上的数据库,借助于集合代数等数学概念和方法来处理数据库中的数据。

RDBMS 即关系数据库管理系统(Relational Database Management System)的特点:

1.数据以表格的形式出现 2.每行为各种记录名称 3.每列为记录名称所对应的数据域 4.许多的行和列组成一张表单 5.若干的表单组成database

第一. 创建数据库

语法: CREATE DATABASE 数据库名称

创建数据库

第二.删除数据库

语法: DROP DATABASE 数据库名

删除数据库

第三 ,数据类型

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

1.数值类型

数值类型

2.日期与时间类型

日期与时间类型

3.字符串类型

字符串类型

CHAR 和 VARCHAR 类型类似,但它们保存和检索的方式不同。它们的最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程中不进行大小写转换。

BINARY 和 VARBINARY 类似于 CHAR 和 VARCHAR,不同的是它们包含二进制字符串而不要非二进制字符串。也就是说,它们包含字节字符串而不是字符字符串。这说明它们没有字符集,并且排序和比较基于列值字节的数值值。

BLOB 是一个二进制大对象,可以容纳可变数量的数据。有 4 种 BLOB 类型:TINYBLOB、BLOB、MEDIUMBLOB 和 LONGBLOB。它们区别在于可容纳存储范围不同。

有 4 种 TEXT 类型:TINYTEXT、TEXT、MEDIUMTEXT 和 LONGTEXT。对应的这 4 种 BLOB 类型,可存储的最大长度不同,可根据实际情况选择。

第四. 创建数据表

表的结构信息: 表名 ,表字段名, 定义表字段类型

语法:

CREATE TABLE 表名(字段名,字段类型) CREATE TABLE userinfo( user_id INT NOT NULL AUTO_INCREMENT, user_name VARCHAR(50) NOT NULL, user_password VARCHAR(50) NOT NULL, age INT NOT NULL, address VARCHAR(50), user_date DATE, PRIMARY KEY(user_id) )ENGINE=INNODB DEFAULT CHARSET=utf8;

创建表

创建成功

解释说明:

1.如果不行字段为空,可以把它设置为NOT NULL,表示插入数据时不能为空,不插入数据是会报错

2.如果想设置列为自增,可以把它设置为 AUTO_INCREMENT,这事自动增加+1,一般设为主键

3.想把那个列设置为主键,可以使用关键字 PRIMARY KEY

4.ENGINE 设置存储引擎,CHARSET 设置编码。

第五 .删除表

语法 : DROP TABLE 表名

删除表

删除成功

删除成功

第六.插入数据

语法: INSERT INTO 表名 ( 字段名1, 字段名2,...字段名N ) VALUES ( 数值1, 数值2,...数值N ); //插入数据 INSERT INTO userinfo (user_id,user_name,user_password,age,address,user_date) VALUES (1,"张三","123456",18,"中国",NOW); INSERT INTO userinfo (user_id,user_name,user_password,age,address,user_date) VALUES (2,"李四","999",19,"中国",NOW); INSERT INTO userinfo (user_id,user_name,user_password,age,address,user_date) VALUES (3,"张三","156",18,"中国",NOW); INSERT INTO userinfo (user_id,user_name,user_password,age,address,user_date) VALUES (4,"lusi","123456",18,"美国",NOW); INSERT INTO userinfo (user_id,user_name,user_password,age,address,user_date) VALUES (5,"王五","123",18,"",NOW); INSERT INTO userinfo (user_id,user_name,user_password,age,address,user_date) VALUES (6,"王五","123456",34,"中国",NOW); INSERT INTO userinfo (user_id,user_name,user_password,age,address,user_date) VALUES (7,"赵六","123",22,"中国",NOW); INSERT INTO userinfo (user_id,user_name,user_password,age,address,user_date) VALUES (8,"aa","123456",18,"英国",NOW); INSERT INTO userinfo (user_id,user_name,user_password,age,address,user_date) VALUES (9,"bb","234",18,"美国",NOW); //说明 now是一个函数,可以返回当前日期

插入数据

插入成功

插入成功

第七,查询

语法:SELECT 字段名1,字段名2.... FROM 表名

*号

说明:*号代替字段表示查询userinfo表的所以信息返回出来,正式项目中尽量不要全表查询,这样会查询很久,容易卡机


二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:SQL数据库 MySQL 非常详细 sql 数据库

沙发
时光人 学生认证  发表于 2019-10-10 09:27:00 |只看作者 |坛友微信交流群

字段名

说明:查询userinfo表中的所有姓名和密码

where子句的查询

说明:WHERE关键字是判断子句的条件

题目意思是查询userinfo表中的年龄为18岁的有哪些人的名称列出来

and关键字的使用

说明:AND 关键字的使用 意思表示"与",一定要跟WHERE关键字一起使用,表示条件判断

题目说明:查询suerinfo表中年龄为18岁,并且地址为中国的,有哪些人的姓名

OR的关键字

说明:OR关键字意思表示为"或者" ,一定要跟WHERE关键字一起使用,表示条件判断

题目意思是查询userinfo表中年龄为18岁的或者地址为美国的有哪些人呢的姓名

like的关键字

说明:LIKE关键字意思是模糊查询,%:表示占位符的,一定要跟WHERE关键字一起使用

题目意思是查询userinfo表中地址第二个字为国的名字个有哪些人的姓名和地址

条件符号

条件符号说过

代码如下:

/*查询*/ SELECT * FROM userinfo SELECT user_name,user_password FROM userinfo SELECT user_name FROM userinfo WHERE age=18 SELECT user_name FROM userinfo WHERE age=18 AND address="中国" SELECT user_name,address FROM userinfo WHERE address LIKE "%国" SELECT user_name FROM userinfo WHERE age=18 OR address="美国"

第八.更新

语法: UPDATE 表名 SET 字段名1=value1,字段名2=value2... WHERE 条件

update 表名称 set 列名称=新值 where 更新条件;

说明:题目意思是把ID为9的姓名更新为"更新了"其实更新就是更新表中某个字段的数据

查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用WHERE语句来设定查询条件。

你可以在 WHERE 子句中指定任何条件。 你可以使用 AND 或者 OR 指定一个或多个条件。 WHERE 子句也可以运用于 SQL 的 DELETE 或者 UPDATE 命令。 WHERE 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。

第九 ,删除

DELETE FROM 表名 [WHERE 条件]

删除先表信息

删除先表信息

题目:请删除userinfo表id为10的这一行数据

代码如:/*删除*/ DELETE FROM userinfo WHERE user_id=10

删除后的表数据

删除说明:

1. 如果没有指定 WHERE 子句,MySQL 表中的所有记录将被删除。

2.你可以在 WHERE 子句中指定任何条件

3.您可以在单个表中一次性删除记录。

DROP和DETELE删除关键字的有什么区别的讲解:

答:

一、delete

1、delete是DML,执行delete操作时,每次从表中删除一行,并且同时将该行的的删除操作记录在redo和undo表空间中以便进行回滚(rollback)和重做操作,但要注意表空间要足够大,需要手动提交(commit)操作才能生效,可以通过rollback撤消操作。

2、delete可根据条件删除表中满足条件的数据,如果不指定where子句,那么删除表中所有记录。

3、delete语句不影响表所占用的extent,高水线(high watermark)保持原位置不变。

二. drop

1、drop是DDL,会隐式提交,所以,不能回滚,不会触发触发器。

2、drop语句删除表结构及所有数据,并将表所占用的空间全部释放。

3、drop语句将删除表的结构所依赖的约束,触发器,索引,依赖于该表的存储过程/函数将保留,但是变为invalid状态。

第十, Mysql排序

如果我们需要对读取的数据进行排序,我们就可以使用 MySQL 的 ORDER BY 子句来设定你想按哪个字段哪种方式来进行排序,再返回搜索结果。

语法: SELECT 字段名1,字段名2... from 表名 ORDER BY 根据哪个字段进行排序 ASC或者DESC

题目说明:根据userinfo表 于age年龄进行升序排序

代码如:SELECT * FROM userinfo ORDER BY age ASC

升序

题目说明:根据userinfo表 于age年龄进行降序排序

代码如:SELECT * FROM userinfo ORDER BY age DESC

说明:

1.你可以使用任何字段来作为排序的条件,从而返回排序后的查询结果。

2.你可以设定多个字段来排序。

3.你可以使用 ASC 或 DESC 关键字来设置查询结果是按升序或降序排列。 默认情况下, 它是按升序排列。

4 .你可以添加 WHERE...LIKE 子句来设置条件。

第十一 ,DISTINCT关键字的说明,表示去除重复的

语法: SELECT DISTINCT 字段名1,字段名2 FROM 表名;

说明

题目说明:查询userinfo表中的姓名没有重复的

最后总结:这次主运用这些关键字

SELECT 查询 LIKE 模糊查询 SELECT DISTINCT 去除重复 WHERE 子句 ANDOR "与""或" ORDER BY "排序" ASC 或 DESC 升序 和降序 INSERT INTO 插入 UPDATE SET 更新 DELETE 删除 DROP 删除表结构


使用道具

藤椅
CDA网校 学生认证  发表于 2019-10-10 11:28:22 |只看作者 |坛友微信交流群
感谢分享

使用道具

板凳
gudure 学生认证  发表于 2019-10-10 11:35:03 |只看作者 |坛友微信交流群

使用道具

报纸
时光人 学生认证  发表于 2019-10-10 11:40:20 |只看作者 |坛友微信交流群

使用道具

地板
jinlu310 在职认证  发表于 2019-10-10 13:09:43 |只看作者 |坛友微信交流群

使用道具

7
东方祥 企业认证  发表于 2019-10-10 13:11:01 |只看作者 |坛友微信交流群
谢谢干货

使用道具

8
zhengcz 发表于 2019-10-11 21:58:41 |只看作者 |坛友微信交流群
谢谢楼主分享。

使用道具

9
tianwk 发表于 2020-1-9 11:47:41 |只看作者 |坛友微信交流群
thanks for sharing

使用道具

10
juliewong 在职认证  发表于 2020-1-29 16:21:15 |只看作者 |坛友微信交流群
谢谢楼主分享

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-23 19:55