前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【计算机本科补全计划】Mysql 学习小计(1)

【计算机本科补全计划】Mysql 学习小计(1)

作者头像
用户1687088
发布2018-05-07 17:12:57
1.1K0
发布2018-05-07 17:12:57
举报

正文之前

以后是要做大数据的人,如果连结构化的数据库都不会的话,那岂不是笑死人?所以果断靠着当年兴趣盎然的时候学的那点基础来复习一下,发现果然学过一遍再来复习那基本就是高中学一段内容看书与翻书的区别,当文字显现刹那,内心就浮出这个命令的用法与局限,很爽的有木有?

正文


Mysql 连接(登录):
代码语言:javascript
复制
[root@host]# mysql -u root -p
Enter password:******

Mysql 退出(断开连接):
代码语言:javascript
复制
mysql> exit
Bye

Mysql 创建数据库:
代码语言:javascript
复制
[root@host]# mysqladmin -u root -p create test
Enter password:******

或者是登陆之后:

代码语言:javascript
复制
create database test
代码语言:javascript
复制
create database if not exists test DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

逆推即可得到删除数据库:

代码语言:javascript
复制
[root@host]# mysqladmin -u root -p drop test
Enter password:******
代码语言:javascript
复制
drop database RUNOOB

Mysql 选择数据库进行操作:
代码语言:javascript
复制
[root@host]# mysql -u root -p
Enter password:******
mysql> use RUNOOB;
Database changed
mysql>

Mysql在数据库中创建数据表:
代码语言:javascript
复制
create table table_name (column_name column_type);

具体的示例如:

代码语言:javascript
复制
create table if not exists `runoob_tbl`(
   `runoob_id` INT UNSIGNED AUTO_INCREMENT,
   `runoob_title` VARCHAR(100) NOT NULL,
   `runoob_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
//那些`是为了标注column 而特意加的,实操的时候不需要的,看图
  • 如果你不想字段为 NULL 可以设置字段的属性为 NOT NULL, 在操作数据库时如果输入该字段的数据为NULL ,就会报错。
  • AUTO_INCREMENT定义列为自增的属性,一般用于主键,数值会自动加1。
  • PRIMARY KEY关键字用于定义列为主键。 您可以使用多列来定义主键,列间以逗号分隔。
  • ENGINE 设置存储引擎,CHARSET 设置编码。

Mysql 删除数据表:
代码语言:javascript
复制
drop table table_name ;

Mysql 插入数据:
代码语言:javascript
复制
insert INTO table_name ( field1, field2,...fieldN )  VALUES  ( value1, value2,...valueN );

Mysql 查询数据:
代码语言:javascript
复制
select column_name,column_name from table_name  [where Clause] 
 [OFFSET M ][LIMIT N]
  • 查询语句中你可以使用一个或者多个表,表之间使用逗号(,)分割,并使用where语句来设定查询条件。
  • select 命令可以读取一条或者多条记录。
  • 你可以使用星号(*)来代替其他字段,select语句会返回表的所有字段数据
  • 你可以使用 where 语句来包含任何条件。
  • 你可以通过OFFSET指定select语句开始查询的数据偏移量。默认情况下偏移量为0。偏移量的意思就是说前面查询的多少条直接跳过,从偏移量设置的那一条记录开始查询。
  • 你可以使用 LIMIT 属性来设定返回的记录数。就限定了最后需要返回多少条数据,配合offset可以很好的优化mysql的使用。

Mysql where 是个神器:
代码语言:javascript
复制
select field1, field2,...fieldN from table_name1, table_name2...
[where condition1 [and [or]] condition2.....
  • 查询语句中你可以使用一个或者多个表,表之间使用逗号, 分割,并使用where语句来设定查询条件。
  • 你可以在 where 子句中指定任何条件。
  • 你可以使用 and 或者 or 指定一个或多个条件。
  • where 子句也可以运用于 SQL 的 delete 或者 update 命令。
  • where 子句类似于程序语言中的 if 条件,根据 MySQL 表中的字段值来读取指定的数据。

PS:MySQL 的 where 子句的字符串比较是不区分大小写的。 你可以使用 BINARY 关键字来设定 where 子句的字符串比较是区分大小写的。

代码语言:javascript
复制
mysql> select * from runoob_tbl where BINARY runoob_author='runoob.com';

Mysql update 查询
代码语言:javascript
复制
update table_name SET field1=new-value1, field2=new-value2
[where Clause]
  • 你可以同时更新一个或多个字段。
  • 你可以在 where 子句中指定任何条件。
  • 你可以在一个单独表中同时更新数据。

Mysql delete 语句删除某条记录
代码语言:javascript
复制
delete from table_name [where Clause]
  • 如果没有指定 where 子句,MySQL 表中的所有记录将被删除。
  • 你可以在 where 子句中指定任何条件。
  • 您可以在单个表中一次性删除记录。

Mysql like 语句进行模糊搜索:
  • 我们知道在 MySQL 中使用 SQL select 命令来读取数据, 同时我们可以在 select 语句中使用 where 子句来获取指定的记录。
  • where 子句中可以使用等号 = 来设定获取数据的条件,如 " tableid = 3"。
  • 但是有时候我们需要获取tablename字段含有 "able" 字符的所有记录,这时我们就需要在 where 子句中使用 SQL like 子句。
  • SQL like 子句中使用百分号 %字符来表示任意字符,类似于UNIX或正则表达式中的星号 。
  • 如果没有使用百分号 %, like 子句与等号 = 的效果是一样的。
代码语言:javascript
复制
select field1, field2,...fieldN  from table_name where field1 like condition1 [and [or]] filed2 = 'somevalue'

MySQL UNION 操作符

代码语言:javascript
复制
select expression1, expression2, ... expression_n from tables  [where conditions]  
UNION [ALL | DISTINCT]  
select expression1, expression2, ... expression_n from tables  [where conditions];
  • expression1, expression2, ... expression_n: 要检索的列。
  • tables: 要检索的数据表。
  • where conditions: 可选, 检索条件。
  • DISTINCT: 可选,删除结果集中重复的数据。默认情况下 UNION 操作符已经删除了重复数据,所以 DISTINCT 修饰符对结果没啥影响。
  • ALL: 可选,返回所有结果集,包含重复数据。

正文之后

告一段落,过几天继续,今天先学到这儿,想必大家都看得出来了。这个教程来自Mysql - 菜鸟教程 ,这个网站真的是个好东西,太喜欢了!

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-04-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 工科狗和生物喵 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 正文之前
  • 正文
  • 正文之后
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档