数据库基本操作:

1.数据库的操作

  1. 查看所有的数据库

show databases;

  1. 创建数据库

create database if not exists 库名;

  1. 删除数据库

drop database if exists 库名;

  1. 选中库 切换当前数据库

use 库名;

  1. 查看创建数据库语句

show create database 库名;

2 .数据表的操作

  1. 查看所有表

show tables;

  1. 创建表

create table if not exists 表名(

列名 类型 【约束】,

列名 类型 【约束】,

....

);

  1. 删除表

drop table if exists 表名;

  1. 查看表结构

desc 表名;

  1. 查看创建表语句

show create table 表名;

练习:

1、创建分类表

分类表名称:category

分类表中有:分类ID和分类名称两个字段

分类ID:cid,为整型,

分类名称:cname,为字符串类型,最大允许填写100长度的字符串

CREATE TABLE IF NOT EXISTS category(

cid INT,

cname VARCHAR(100)

)

2、创建测试表

测试表名称:test1

测试表中有:测试ID和测试时间两个字段

测试ID:tid,为整型

测试时间:tdate,为年月日的日期类型

CREATE TABLE test1(

tid INT,

tdate DATE

)

3、创建学生表

学生表名称:student

学生表中有:学号, 姓名, 年龄, 性别, 邮箱五个字段

学号:sid为整型且最大长度为6

姓名:sname为字符串类型,最大允许填写30长度的字符串

年龄: sage为整型且最大长度为3

性别: ssex为字符串类型,最大允许填写2长度的字符串

邮箱: semail为字符串类型,最大允许填写50长度的字符串

CREATE TABLE student(

sid INT(6),

sname VARCHAR(30),

sage INT(3),

ssex VARCHAR(2),

semail VARCHAR(50)

)

查询表结构

DESC student;

查询创建表语句

SHOW CREATE TABLE student;

删除表

DROP TABLE IF EXISTS test1;

3 修改表操作(了解)

一般修改表结构,最多进行字段的添加操作;

alter table 表名 add 列名 类型(长度) 约束;

作用:修改表添加列.

例如:

#1,为分类表添加一个新的字段为 分类描述 cdesc varchar(20)

ALTER TABLE category ADD cdesc VARCHAR(20);

alter table 表名 modify 列名 类型(长度) 约束;

作用:修改表修改列的类型长度及约束.

例如:

#2, 为分类表的描述字段进行修改,类型varchar(50)

ALTER TABLE category MODIFY cdesc VARCHAR(50);

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

作用:修改表修改列名.

例如:

#3, 为分类表的分类名称字段进行更换 更换为 description varchar(30)

ALTER TABLE category CHANGE cdesc description VARCHAR(30);

alter table 表名 drop 列名;

作用:修改表删除列.

例如:

#4, 删除分类表中description这列

ALTER TABLE category DROP description;

rename table 表名 to 新表名;

作用:修改表名

例如:

#5, 为分类表category 改名成 category2

RENAME TABLE category TO category2;

alter table 表名 character set 字符集(了解);

作用:修改表的字符集

例如:

#6, 为分类表 category 的编码表进行修改,修改成 gbk

ALTER TABLE category CHARACTER SET gbk;3.

3.DML数据操作语言(重点)

DML(Data Manipulation Language)数据操作语言,主要是针对数据表做增、删、改操作。

主要涉及的关键字有:

insert 添加

update 修改

delete 删除

下面以学生表为例给大家讲解这三种操作

1 .添加操作

  • 给指定列添加数据
复制代码
INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…);
  • 给全部列添加数据
复制代码
INSERT INTO 表名 VALUES(值1,值2,…);
此方法不推荐使用,因为无法确保列与值的个数一一对应,容易出错。
注意:
    1. 插入值时要与值的个数, 顺序和字段类型, 以及约束保持一致.
    2. 插入值的长度要小于或等于设置的字段长度.
  • 批量添加数据
复制代码
INSERT INTO 表名(列名1,列名2,…) VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;
INSERT INTO 表名 VALUES(值1,值2,…),(值1,值2,…),(值1,值2,…)…;
复制代码
#向学生表student中添加一条记录
INSERT INTO student(sid, sname, sage, ssex, semail) VALUES(1, '柳岩', 18, '女', 'liuyan@163.com');
#字段名是否可以省略不写  ==> 可以省略(不建议省略)
INSERT INTO student VALUES(2, '王冰冰', 20, '男', 'bingbing@126.com');
INSERT INTO student VALUES(3, '宝强绿', 50, '人妖王', 'baoqiang@126.com');
​
#批量添加数据
#向学生表中添加多行记录
INSERT INTO student VALUES(4, '黄渤', 18, '男', 'huangbo@163.com'),
(5, '刘涛', 18, '女', 'liutao@163.com'),
(6, '张艺兴', 30, '男', 'xiaomianyang@163.com')

2 .修改操作

  • 修改表数据
复制代码
UPDATE 表名 SET 列名1=值1, 列名2=值2, … [WHERE 条件] ;

注意:

  1. 修改语句中如果不加条件,则将所有数据都修改!

  2. 像上面的语句中的中括号,表示在写sql语句中可以省略这部分

复制代码
#需求: 修改学生表中性别(不添加条件的修改慎用)
UPDATE student SET ssex='男';
​
#需求: 根据sid=1修改这个学生的性别;
UPDATE student SET ssex='女' WHERE sid=1;
/*
思考: 修改时是否可以根据姓名去修改性别, 
如果出现同名的情况, 会出现问题, 修改时不建议根据姓名修改;
要通过sid来修改, 因为sid是唯一的
*/
#同时修改多个字段
UPDATE student SET sage=38, ssex='女' WHERE sid=6;

3 .删除操作

  • 删除数据
复制代码
第一种方式:
    DELETE FROM 表名 [WHERE 条件] ;
第二种方式:
    TRUNCATE table 表名; #将表中的数据清空
复制代码
#需求: 将sid=4删除这个学生信息
DELETE FROM student WHERE sid = 4;
​
#需求:将表中的数据全部删除
DELETE FROM student;
​
#需求:将表中的数据全部清空
TRUNCATE TABLE student;
/*
区别:(面试题)
   delete删除是一行一行删除, 后边可以跟条件, 而truncate删除后不能跟条件
   delete删除是一行一行删除, 删除效率较慢, 而truncate删除是将表中结构删除又重新创建了一张一模一样的表结构, truncate删除效率要高于delete删除
*/
相关推荐
J.Kuchiki2 小时前
【PostgreSQL 内核学习:平衡 K 路归并(Balanced k-way Merge)】
数据库·学习·postgresql
xieliyu.2 小时前
MySQL 全套入门笔记:基础、库操作、数据类型
数据库·笔记·mysql
lvbinemail2 小时前
【无标题】
数据库·postgresql·zabbix·监控
技术小甜甜2 小时前
[办公效率] Excel 表格越做越乱,先整理字段、格式还是公式?
数据库·excel·办公效率·数据整理
Data-Miner2 小时前
休闲食品行业数据分析平台建设方案,揭秘增长新引擎!
大数据·数据库·数据分析
KKKlucifer2 小时前
数据分类分级排名解析:三大核心能力决定选型方向
大数据·数据库·分类
fly spider2 小时前
Spring 原理总览:从启动到请求执行
java·数据库·spring
天天进步20152 小时前
Python全栈项目--基于Python的数据库管理工具
开发语言·数据库·python
cui_ruicheng3 小时前
MySQL(三):库操作与表操作
数据库·mysql·oracle