MySQL数据库基本操作

这篇具有很好参考价值的文章主要介绍了MySQL数据库基本操作。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

数据库常用操作

功能 sql
查看所有数据库 show databases;
创建数据库

create  database [if not exists] mydb1 [charset=utf8]

切换数据库 use mydb1;
删除数据库

drop database [if exists] mydb1

修改数据库编码

alter database mydb1 character set utf8;

创建表格式

create table [if not exists]表名(
  字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],
  字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],
  字段名3 类型[(宽度)] [约束条件] [comment '字段说明']
)[表的一些设置];
use mydb1;
create  table if not exists student(
    sid int,
    name varchar(20),
    gender varchar(20),
    age int,
    birth date, 
    address varchar(20),
    score double
);

数值类型

MySQL数据库基本操作,数据库,oracle

字符串类型

MySQL数据库基本操作,数据库,oracle

日期类型

MySQL数据库基本操作,数据库,oracle

对表结构其他操作

功能 sql
查看当前数据库所有名称 show tables;
查看指定某个表创建的语句 show create table 表名;
查看表结构 desc 表名;
删除表 drop table 表名;

修改表结构

alter table 表名 add 列名 类型(长度) [约束];
alter table 表名 change 旧列名 新列名 类型(长度) 约束; 

eg:

#为student表的dept字段更换为department varchar(30)

ALTER TABLE student change `dept` department VARCHAR(30); 

修改表删除列

alter table 表名 drop 列名;

修改表名

rename table 表名 to 新表名;

数据插入

insert into 表 (列名1,列名2,列名3...) values (值1,值2,值3...); //向表中插入某些
insert into 表 values (值1,值2,值3...);     //向表中插入所有列

数据修改

update 表名 set 字段名=值,字段名=值...;
update 表名 set 字段名=值,字段名=值... where 条件;

eg:

-- 将所有学生的地址修改为重庆 
update student set address = '重庆’; 

-- 讲id为1004的学生的地址修改为北京 
update student set address = '北京' where id = 1004 

-- 讲id为1005的学生的地址修改为北京,成绩修成绩修改为100 
update student set address = '广州',score=100 where id = 1005

数据删除

delete from 表名 [where 条件];
truncate table  表名 或者 truncate 表名

注意:deletetruncate原理不同,delete只删除内容,而truncate类似于drop table ,可以理解为是将整个表删除,然后再创建该表;

MySQL约束

分类

  • 主键约束
  • 自增长约束
  • 非空约束
  • 唯一性约束
  • 默认约束
  • 零填充约束
  • 外键约束
MySQL主键约束是一个列或者多个列的组合,其值能唯一地标识表中的每一行,方便在RDBMS中尽快的找到某一行。

主键约束相当于 唯一约束 + 非空约束 的组合,主键约束列不允许重复,也不允许出现空值。

每个表最多只允许一个主键

主键约束的关键字是:primary key

当创建主键的约束时,系统默认会在所在的列和列组合上建立对应的唯一索引。

单列主键

创建单列主键有两种方式:一种是在定义字段的同时指定主键,一种是定义完字段之后指定主键。

-- 在 create table 语句中,通过 PRIMARY KEY 关键字来指定主键。
--在定义字段的同时指定主键,语法格式如下:
create table 表名(
   ...
   <字段名> <数据类型> primary key 
   ...
)

eg:

create table emp1(
    eid int primay key,
    name VARCHAR(20),
    deptId int,
    salary double
);

多列主键(联合主键)

所谓联合主键,就是这个主键由一张表中多个字段组成。

create table 表名(
   ...
   primary key (字段1,字段2,…,字段n)
);
create table emp3( 
  name varchar(20), 
  deptId int, 
  salary double, 
  primary key(name,deptId) 
);
删除主键约束

格式:

alter table <数据表名> drop primary key;

自增长约束

MySQL 中,当主键定义为自增长后,这个主键的值就不再需要用户输入数据了,而由数据库系统根据定义自动赋值。每增加一条记录,主键会自动以相同的步长进行增长。通过给字段添加auto_increment属性来实现主键自增长。

字段名 数据类型 auto_increment
create table t_user1( 
  id int primary key auto_increment, 
  name varchar(20) 
);
默认情况下,auto_increment的初始值是 1,每新增一条记录,字段值自动加 1。
一个表中只能有一个字段使用 auto_increment约束,且该字段必须有唯一索引,以避免序号重复(即为主键或主键的一部分)。
auto_increment约束的字段必须具备 NOT NULL 属性。
auto_increment约束的字段只能是整数类型(TINYINT、SMALLINT、INT、BIGINT 等。
auto_increment约束字段的最大值受该字段的数据类型约束,如果达到上限,auto_increment就会失效。

非空约束

MySQL 非空约束(not null)指字段的值不能为空。对于使用了非空约束的字段,如果用户在添加数据时没有指定值,数据库系统就会报错。

方式1:<字段名><数据类型> not null;
方式2:alter table 表名 modify 字段 类型 not null;
-- 方式1,创建表时指定
create table t_user6 ( 
  id int , 
  name varchar(20) not null, 
  address varchar(20) not null 
);
create table t_user7 ( 
  id int , 
  name varchar(20) , -- 指定非空约束 
  address varchar(20) -- 指定非空约束 
); 
alter table t_user7 modify name varchar(20) not null; 
alter table t_user7 modify address varchar(20) not null;

删除非空约束

-- alter table 表名 modify 字段 类型 
alter table t_user7 modify name varchar(20) ; 
alter table t_user7 modify address varchar(20) ;

唯一约束

创建唯一约束

方式1:<字段名> <数据类型> unique
方式2: alter table 表名 add constraint 约束名 unique(列);
-- 创建表时指定
create table t_user8 ( 
 id int , 
 name varchar(20) , 
 phone_number varchar(20) unique -- 指定唯一约束 
);

删除唯一约束

-- alter table <表名> drop index <唯一约束名>;
alter table t_user9 drop index unique_ph;

默认约束

MySQL 默认值约束用来指定某列的默认值。

方式1: <字段名> <数据类型> default <默认值>;
方式2: alter table 表名 modify 列名 类型 default 默认值; 

添加默认约束

create table t_user10 ( 
  id int , 
  name varchar(20) , 
  address varchar(20) default ‘北京’ -- 指定默认约束 
);

删除默认约束

-- alter table <表名> modify column <字段名> <类型> default null; 

alter table t_user11 modify column address varchar(20) default null;

基本查询

语法

select 
  [all|distinct]
  <目标列的表达式1> [别名],
  <目标列的表达式2> [别名]...
from <表名或视图名> [别名],<表名或视图名> [别名]...
[where<条件表达式>]
[group by <列名> 
[having <条件表达式>]]
[order by <列名> [asc|desc]]
[limit <数字或者列表>];
select *| 列名 from 表 where 条件

比较运算符

MySQL数据库基本操作,数据库,oracle

逻辑运算符

MySQL数据库基本操作,数据库,oracle

排序查询

select 
 字段名1,字段名2,……
from 表名
order by 字段名1 [asc|desc],字段名2[asc|desc]……

特点

1.asc代表升序,desc代表降序,如果不写默认升序

2.order by用于子句中可以支持单个字段,多个字段,表达式,函数,别名

3.order by子句,放在查询语句的最后面。LIMIT子句除外

-- 1.使用价格排序(降序)
select * from product order by price desc;
-- 2.在价格排序(降序)的基础上,以分类排序(降序)
select * from product order by price desc,category_id asc;
-- 3.显示商品的价格(去重复),并排序(降序)
select distinct price from product order by price desc;

聚合函数

MySQL数据库基本操作,数据库,oracle

-- 1 查询商品的总条数
select count(*) from product;
-- 2 查询价格大于200商品的总条数
select count(*) from product where price > 200;
-- 3 查询分类为'c001'的所有商品的总和
select sum(price) from product where category_id = 'c001';
-- 4 查询商品的最大价格
select max(price) from product;
-- 5 查询商品的最小价格
select min(price) from product;
-- 6 查询分类为'c002'所有商品的平均价格
select avg(price) from product where category_id = 'c002';

1count函数对null值的处理

如果count函数的参数为星号(*),则统计所有记录的个数。而如果参数为某字段,不统计含null值的记录个数。

2sumavg函数对null值的处理

这两个函数忽略null值的存在,就好象该条记录不存在一样。

3maxmin函数对null值的处理

 maxmin两个函数同样忽略null值的存在。

分组查询

分组查询是指使用group by字句对查询信息进行分组

select 字段1,字段2… from 表名 group by 分组字段 having 分组条件;
-- 1 统计各个分类商品的个数
select category_id ,count(*) from product group by category_id ;

分页查询

-- 方式1-显示前n条
select 字段1,字段2... from 表明 limit n
-- 方式2-分页显示
select 字段1,字段2... from 表明 limit m,n
m: 整数,表示从第几条索引开始,计算方式 (当前页-1)*每页显示条数
n: 整数,表示查询多少条数据
-- 查询product表的前5条记录 
select * from product limit 5 

-- 从第4条开始显示,显示5条 
select * from product limit 3,5

Insert into select语句

将一张表的数据导入到另一张表中,可以使用INSERT INTO SELECT语句

insert into Table2(field1,field2,…) select value1,value2,… from Table1 或者:
insert into Table2 select * from Table1

要求目标表Table2必须存在

将一张表的数据导入到另一张表中,有两种选择 SELECT INTO INSERT INTO SELECT

SELECT vale1, value2 into Table2 from Table1

要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Table1中指定字段数据复制到Table2中。

正则表达式

MySQL数据库基本操作,数据库,oracle

MySQL数据库基本操作,数据库,oracle文章来源地址https://www.toymoban.com/news/detail-787321.html

到了这里,关于MySQL数据库基本操作的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • MySQL数据库——DDL基本操作

    DDL 操作是与数据库结构相关的操作,它们不涉及实际的数据操作,而是用于管理数据库的结构和元数据。今天我将为大家分享关于MySQL数据库的DDL操作。 SQL 功能 show databases; 查看所有的数据库 create database [if not exists] 数据库名 [charset/character=utf8]; 创建数据库 use 数据库名; 选

    2024年02月15日
    浏览(85)
  • 【Mysql】数据库基础与基本操作

    🌇个人主页:平凡的小苏 📚学习格言:命运给你一个低的起点,是想看你精彩的翻盘,而不是让你自甘堕落,脚下的路虽然难走,但我还能走,比起向阳而生,我更想尝试逆风翻盘 。 🛸 Mysql专栏 : Mysql内功修炼基地 家人们更新不易,你们的👍点赞👍和⭐关注⭐真的对我

    2024年02月13日
    浏览(44)
  • MySQL数据库——DML基本操作

    前面我们学习了MySQL——DDL操作,对数据库和表的结构的操作,那么今天我将为大家分享MySQL——DML操作,对表数据的操作。 MySQL DML操作有以下几种: 插入操作(INSERT):用于向数据库中插入新的数据行。可以一次插入单行数据,也可以使用一条SQL语句一次性插入多行数据。

    2024年02月15日
    浏览(60)
  • MySQL 数据库表的基本操作

    在数据库中,数据表是数据库中最重要、最基本的操作对象,是数据存储的基本单位。数据表被定义为列的集合,数据在表中是按照行和列的格式来存储的。每一行代表一条唯一的记录,每一列代表记录中的一个域。 通常在创建表时,应该使用语句USE 数据库名,指定在哪个

    2024年02月12日
    浏览(81)
  • MySQL数据库和表的基本操作

    MySQL是一个客户端服务器结构的程序 主动发送数据的这一方,客户端(client) 被动接受数据的这一方,服务器(server) 客户端给服务器发送的数据叫做: 请求(request) 服务器给客户端发送的数据叫做: 响应(response) 客户端和服务器之间是通过网络进行通信的 服务器是存储数据的主体

    2024年01月19日
    浏览(41)
  • 头歌 MySQL数据库 - 数据库和表的基本操作(一)答案

    第1关:查看表结构与修改表名 编程要求 根据提示,在右侧编辑器补充代码: 把数据表 tb_emp 改名为 jd_emp ; 查看该数据库下数据表的列表; 查看数据表 jd_emp 的 基本结构 。 第2关:修改字段名与字段数据类型 编程要求 根据提示,在右侧编辑器补充代码: 把数据表 tb_emp 的字

    2024年02月01日
    浏览(156)
  • MySQL数据库---库基本操作 以及 表结构的操作(DDL)

    目录 前言 一.数据库的操作 1.1显示当前数据库 1.2创建数据库 1.3使用数据库  1.4删除数据库  二.数据类型 2.1数值类型 2.2字符串类型 2.3日期类型 三.数据表的操作  3.1 创建表结构。  3.2查看数据库中拥有的数据表  3.3查看指定的表结构   3.4修改表结构   3.5删除表结构  

    2024年02月09日
    浏览(67)
  • 【MySQL数据库重点】第二节:MySQL基础知识(基本操作)

    目录 一:数据库的操作 1.显示数据库 2.创建数据库 3.使用数据库 4.删除数据库 二:常用数据类型 1.数值类型:整型和浮点型 2.字符串类型 3.日期类型 三:表的操作 1.查看表结构 2.创建表 3.删除表 1.显示数据库 语法: show databases;  2.创建数据库 (1)简化语法 create database 数

    2024年02月08日
    浏览(56)
  • MySQL 数据库实用指南:测试数据准备、SQL语句规范与基本操作

    欢迎来到小K的MySQL专栏,本节将为大家准备MySQL测试数据、以及带来SQL语句规范、数据库的基本操作的详细讲解 要学习SQL查询语句,首先必须解决一个问题,数据问题。为了方便大家学习阅读我的文章,在这里提供了一个test.sql文件 ✨ 登录MySQL,输入 source xxx/test.sql 导入sql文

    2024年02月08日
    浏览(82)
  • 【MySQL】数据库的增删改查、备份、还原等基本操作

    大写的表示 [] 是可选项 CHARACTER SET: 指定数据库采用的字符集 COLLATE: 指定数据库字符集的校验规则 创建数据库的时候,有两个编码集: 1.数据库编码集——数据库未来存储数据 2.数据库校验集——支持数据库进行字段比较使用的编码,本质也是一种读取数据库中数据采

    2024年02月08日
    浏览(78)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包