数据库的操作-mysql-1(自用)

1.命令行客户端

1.1闪退情况

打开cmd,将命令行客户端拖进cmd,回车,输入密码,回车,见错误信息

2.图形化客户端

3.创建数据库

create database 数据库名;  

create database if not exists 数据库名;

手动指定字符集(默认拉丁文)

create database 数据库名+character set 字符集名字/charset 字符集名字

支持中文的编码(GBK,UTF8)

ps 字符集

不同字符集,一个汉字占的字节数不同

在gbk 下才是一个汉字两个字节

(由Unicode演化而来)UTF8,变长编码,不仅支持中文还支持其他语言文字,一个汉字3字节;(mysql中utf8是个残本,缺少emoji表情)(utf8mb4是完全体)

Unicode ,支持给一个字符编码,不支持字符串编码

4.查看数据库

-列出当前的mysql服务器上一共有哪些数据库

show databases;

5.选中数据库

use 数据库名;

选择某个数据库,对其表进行增删改查;

面试真题

LOL属于那个类型游戏 ()

A.MOBA B.FPS C.RPG D.RTS

6.删除数据库

drop database 数据库名;(删除数据库中所有数据)

线上数据库/生产环境数据库  -是被用户访问的数据库,真实用户的信息

线下数据库 -开发/测试节点,自己构造的一些“假的”数据

mysql必须一直运行,如有问题(报警程序)

数据表的操作(先选中某数据库)

1.数据类型

(blob)

ps.在码表上查不到的是二进制文件,如图片、视频等

timestamp-时间戳-秒级表达

DATETIME -只表达年月日

int long double decimal varchar datatime

2.创建表

先选中数据库

create table 表名(列名 类型,列名 类型..);

ps.如果想让表名/列名和关键字一样,用``把其引起来

无符号类型

闰秒

钱 unitprice int(把钱转换为以分为单位,整型)

3.查看所有表(当前选中数据库)

show tables;

4.查看指定表的结构

desc 表名;  

key 约束

default 默认值

extra 额外信息

5.删除表

drop table 表名;

6.增删改查(CRUD)

6.1新增

insert into 表名 values (值,值...); 

指定列插入:insert into 表名(列名,列名...)values(值,值...)

一次插入多行记录:insert into 表名 values (值,值..)(值,值...)...

用‘’or “”表示字符串;

datetime 如何插入:‘2015-01-01 12:00:00’;

如果要填当前时间:now();

6.2查询

  • 全列查询

select* from 表名;

危险!

如果当前数据库表中的数据非常多有可能会有以下问题:

1.读取硬盘:把硬盘的IO给跑满了,此时程序访问其它硬盘,会非常慢

2.操作网络:也可能把网卡的宽带跑满,此时,其他客户端想通过网络访问服务器,也会很慢

以上可能导致客户端无法顺利访问数据库->影响整个系统(相当于数据库服务器挂了)

  • 指定列查询

select 列名,列名..from 表名;

  • 查询字段为表达式(一边查一边计算)

select 列名表达式 from 表名;(不会修改原数据,只是临时计算结果)

  • 指定别名(查询时给指定列取别名)

select 表达式 as 别名 from 表名;

  • 去重

distinct 修饰某个列/多个列

ps.修饰多个列时,只有每列的值都重复才记为重复;

  • 查询的时候排序

排序规则:a)针对哪个列作为比较规则b)升序还是降序

select 列名 from 表名 order by 列名 asc/desc;

ps.  ‘asc’升序 ‘desc’降序,默认升序;

  • 指定多个列来排序

select 列名 from 表名 order by 列名1,列名2.. asc/desc;

先按列1大小排序,列1相同,按列2拍...(优先级)

  • 条件查询(WHERE)

指定具体条件,按条件筛选;

select 列名 from 表名 where 条件;

LIKE(根据模糊的标准筛选)

‘%’ 代表任意多个(包括0个)任意字符

‘_’表示任意一个字符;

eg.

  • %X%  包含X的
  • %X     以X结尾的
  • X%     以X开头的
  • X_      以X开头+任意一个其他字符

注意:

1.条件查询,表中有一列数据中有任意一个值为NULL,在查询条件时可能查不出来该数据

NULL和任意值比较/计算都为NULL=>FALSE,所以不会筛选出来!!

2.select条件查询执行顺序:a.遍历表中每个数据 b.把当前记录带入条件,根据条件进行筛选c.如果这个记录条件成立,就要保留,进行列上的表达式的计算,定义别名!

ps.预先定义好别名!!否则可能会报错,因为第三步才执行定义别名!

3.order by会在所有步骤之后再排序,所以可以使用别名!

4.查询NULL不能用‘=’,要用'<=>' or ‘is null’ or ‘is not null’!

ps 以后工作中的几个环境

线下环境:

1. 办公环境2.开发环境3.测试环境

线上环境:

1.生产环境:用户可以访问到的,直接影响用户体验(谨慎select*)

  • 分页查询 LIMIT

写在整个查询语句之后;

  • limit 3  :  查询前三行数据
  • limit 3  offset  3  :  前三行之后的三行数据(offset-偏移量)

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值