MySQL数据库的增删改查

Wesley13
• 阅读 562

*在终端中开启数据库: 方式1.在管理员身份运行cmd终端中开启数据库: net start mysql57(服务名称) ==>连接数据库: mysql -u 用户名 -p ==> 输入密码

注意: 可以设置mysql服务器开机自启动(计算机右键→管理→服务→mysql57双击更改启动方式)
方式2.在mysql-client里面开启数据库: 直接输入密码就可以进入了.

*退出登录: exit

*远程连接数据库: mysql -h ip地址 -u 对方用户名 -p ==> 输入对方密码

*数据库类型: 关系型数据库: MySQL, Oracle等; 非关系型数据库(NoSQL): MongoDB, Redis等.

*数据库操作:
show databases; # 查看所有数据库, detabase要加复数s
create database demo charset=utf8; # 创建数据库demo
drop database demo; # 删除数据库demo
use demo # 切换数据库, 要操作数据库得先选择使用一个数据库
select database; # 查看当前使用的数据库

*表操作:
show tables; # 查看所有的表 # 查看表也要加s
create table demo(列1,列2,...); # 创建表demo
实例: create table demo(id int auto_increment primary_key, name varchar(20))
drop table demo; # 删除表demo
desc demo; # 查看表结构
show create table demo; # 查看创建表demo所使用的语句
rename table demo to newdemo; # 将表demo的表名修改为newdemo

*数据操作:
增: insert into 表名(列1,列2,...) values(值1,值2,...) ; # 插入一条数据
insert into 表名(列1,列2,...) values(值1,值2,...), (值1,值2,...) ; # 插入多条数据
实例: insert into student(name,age,height) values("Tom",18,175) ;
删: delete from 表名 where 条件; # 删除表内数据 (警告:后面不加where条件会将表内数据全部删除)
实例: delete from student where id=4;
改: update 表名 set 列1=值1, 列2=值2,... where 条件 ; # 修改表内数据(警告:后面不加条件会将全部列都修改)
实例: update student set name=tom,age=18 where id=7;
查: select * from 表名 ; # 查看某一个表里面的所有数据(这里的*代表所有的列, 如果只想查询部分列可用逗号分隔, 例select name,age from 表名;)

*条件查询:
a.语法: select * from 表名 where 条件;
b.比较运算符(=, >, <, >=, <=, !=):
实例: select * from student where id>=3;
c.逻辑运算符(and, or, not):
实例: select * from student where id>=3 and gender=0; 查询id>=3且性别为女的学生
d.模糊查询: like: %表示任意多个任意字符、 _表示一个任意字符
实例: select * from student where name like "周%"; => 得到结果如周杰伦, 周星驰...
实例: select * from student where name like "周_"; => 得到结果如周迅...
e.范围查询: 实例: select * from student where id in (2,7,12); # 查询id为2,7,12的学生
实例: select * from student where id between 5 and 10; # 查询id在5-10之间的学生
f.空查询: 实例: select * from student where address is null; # 查询住址为空的学生(非空是not null)
g.优先级: 小括号 > not > 比较运算符 > 逻辑运算符 ; and > or =>可用()来改变优先级
h.排序: select * from 表名 order by 列1 asc/desc, 列2 asc/desc, ... ; # asc升序 desc降序

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这