MySQL 常用基础命令

本文介绍了数据库的基本操作,包括创建数据库和表、设置主键、外键等约束,以及插入、更新和删除数据。此外,还详细讲解了SQL查询语句,如SELECT、UPDATE、DELETE,以及各种查询条件和排序、分组方法。
摘要由CSDN通过智能技术生成

数据库创建:1.创建数据库 2.创建表 3.添加数据

约束:primary key(主键约束)、foreign key(外键约束)、not null(非空约束)、 unique(唯一约束)、属性值自动增加(auto_increment)、default(设置默认值)

字段表示:*号代表所有字段(字段相当于列)

常用命令

创建数据库:create database 数据库名;

查看有哪些数据库存在:show databases;

使用该数据库:use 数据库名称;

查看有哪些表存在:show tables;

创建数据表:create table 表名(列名 数据类型 约束条件);

向表中添加一行数据:insert into 表名 values(值 1,值 2,……);

向表中添加多行数据:insert into 表名 values (值 1,值 2,值 3,……),(值 1,值 2,值 3,……),……;

修改表名:alter table 旧表名 rename 新表名;

修改字段名(列名)和数据类型:alter table 表名 change 旧列名 新列名 新数 据类型;

添加字段名(列)到最开头:alter table 表名 add 列名 数据类型 first;

添加字段名(列)到某一列后方:alter table 表名 add 属性名 数据类型 after 列 名;

删除列:alter table 表名 drop 列名;

删除表:drop table 表名;

删除数据库:drop database 数据库名;

修改数据:update 表名 set 列名 1=值 1,列名 2=值 2,列名 n=值 n where 条件表 达式;

删除数据:delete from 表名 where 条件表达式;

删除表中所有数据:delete from 表名;

查看表结构:describe 表名;

显示查询表中所有信息:select * from 表名;

显示表中指定列的信息:select 列名 from 表名;

根据条件搜索信息:select * from 表名 where 条件表达式;

and 条件形式搜索信息:select * from 表名 where 条件 1 and 条件 2;

or 条件形式搜索信息:select * from 表名 where 条件 1 or 条件 2;

between…and 范围条件形式搜索信息:select * from 表名 where 列名 between 范围开始值 and 范围结束值;

in 条件形式搜索信息:select * from 表名 where 列名 in (值 1,值 2,……);

like 模糊查询:select * from 表名 where 列名 like ‘字符串’;(%表任意长度,_ 表一个长度的字符)

空值(非空)查询:select * form 表名 where 列名 is [not]null;

列名变成其别名显示搜索信息:select 列名 1 as 别名 1,列名 2 as 别名 2,…… from 表名;

对指定列升序排序:select * from 表名 order by 列名;

对指定列降序排序:select * from 表名 order by 列名 desc;

对指定列分组查询:select * from 表名 group by 列名;

从第一条记录往下显示 n 条记录:select * from 表名 limit n;

指定位置往下显示 n 条记录:select * from 表名 limit 开始位置,n;(开始位置为 0 代表从第一条记录开始)

统计表中的总记录数:select count(*) from 表名; 注:sum() 求和、max() 最大值、min() 最小值、avg()平均值

内连接查询:select 表 1.列名,表 2.列名,…… from 表名 1,表名 2 where 表 名 1.列名 A =列名 2.列名 B;(列名 A、列名 B 是两张表中相同意义的字段)

左外连接查询:select * from 表名 1 left join 表名 2 on 表名 1.列名 A =列 名 2.列名 B; (列名 A、列名 B 是两张表中相同意义的字段,左连接的话,左边 的表为主表,以左边表的意义字段为基础,把右边表的数据拉过来)

右外连接查询:select * from 表名 1 right join 表名 2 on 表名 1.列名 A =列 名 2.列名 B; (列名 A、列名 B 是两张表中相同意义的字段,右连接的话,右边 的表为主表,以右边表的意义字段为基础,把左边表的数据拉过来)

子查询:select * from 表名 where 列名=(select 查询语句);(类似于这种, 在查询语句中还包含有查询语句)

函数

计算字符串 m 的字符数:char_length(m);

计算字符串 m 的长度:length(m);

拼接字符串:concat(m,n,…) 将字符串 str 从第 m 位置开始,n 个字符字符长的子串替换为字符串 instr: insert(str,m,n,instr)

返回 str 字符串左边的 m 个字符:left(str,m)

返回 str 字符串右边的 n 个字符:right(str,n)

获取传入值的绝对值:abs()

向上取最接近的整数:ceil()、ceiling()

向下取最接近的整数:floor()

生产 0-1 之间的一个随机数:rand()

获取当前日期:curdate()

获取当前时间:curtime()

获取当前时间和日期:now()

返回日期 d 中的月份:month(d)

返回日期 d 中的月份所对应的英文名称:monthname(d)

计算日期 d1 于 d2 相隔的天数:datediff(d1,d2)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值