1.数据库的操作1. 查看所有的数据库show databases;2. 创建数据库create database if not exists 库名;3. 删除数据库drop database if exists 库名;4. 选中库 切换当前数据库use 库名;5. 查看创建数据库语句show create database 库名;2 .数据表的操作1. 查看所有表show tables;2. 创建表create table if not exists 表名(列名 类型 【约束】,列名 类型 【约束】,....);3. 删除表drop table if exists 表名;4. 查看表结构desc 表名;5. 查看创建表语句show create table 表名;练习:1、创建分类表分类表名称category分类表中有分类ID和分类名称两个字段分类IDcid,为整型分类名称cname,为字符串类型最大允许填写100长度的字符串CREATE TABLE IF NOT EXISTS category(cid INT,cname VARCHAR(100))2、创建测试表测试表名称test1测试表中有测试ID和测试时间两个字段测试IDtid,为整型测试时间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 改名成 category2RENAME TABLE category TO category2;alter table 表名 character set 字符集(了解);作用修改表的字符集例如#6, 为分类表 category 的编码表进行修改修改成 gbkALTER TABLE category CHARACTER SET gbk;3.3.DML数据操作语言(重点)DMLData 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, 女, liuyan163.com); #字段名是否可以省略不写 可以省略(不建议省略) INSERT INTO student VALUES(2, 王冰冰, 20, 男, bingbing126.com); INSERT INTO student VALUES(3, 宝强绿, 50, 人妖王, baoqiang126.com); #批量添加数据 #向学生表中添加多行记录 INSERT INTO student VALUES(4, 黄渤, 18, 男, huangbo163.com), (5, 刘涛, 18, 女, liutao163.com), (6, 张艺兴, 30, 男, xiaomianyang163.com)2 .修改操作修改表数据UPDATE 表名 SET 列名1值1, 列名2值2, … [WHERE 条件] ;注意修改语句中如果不加条件则将所有数据都修改像上面的语句中的中括号表示在写sql语句中可以省略这部分#需求: 修改学生表中性别(不添加条件的修改慎用) UPDATE student SET ssex男; #需求: 根据sid1修改这个学生的性别; UPDATE student SET ssex女 WHERE sid1; /* 思考: 修改时是否可以根据姓名去修改性别, 如果出现同名的情况, 会出现问题, 修改时不建议根据姓名修改; 要通过sid来修改, 因为sid是唯一的 */ #同时修改多个字段 UPDATE student SET sage38, ssex女 WHERE sid6;3 .删除操作删除数据第一种方式: DELETE FROM 表名 [WHERE 条件] ; 第二种方式: TRUNCATE table 表名; #将表中的数据清空#需求: 将sid4删除这个学生信息 DELETE FROM student WHERE sid 4; #需求:将表中的数据全部删除 DELETE FROM student; #需求:将表中的数据全部清空 TRUNCATE TABLE student; /* 区别:(面试题) delete删除是一行一行删除, 后边可以跟条件, 而truncate删除后不能跟条件 delete删除是一行一行删除, 删除效率较慢, 而truncate删除是将表中结构删除又重新创建了一张一模一样的表结构, truncate删除效率要高于delete删除 */
数据库基本操作:
发布时间:2026/6/10 12:38:26
1.数据库的操作1. 查看所有的数据库show databases;2. 创建数据库create database if not exists 库名;3. 删除数据库drop database if exists 库名;4. 选中库 切换当前数据库use 库名;5. 查看创建数据库语句show create database 库名;2 .数据表的操作1. 查看所有表show tables;2. 创建表create table if not exists 表名(列名 类型 【约束】,列名 类型 【约束】,....);3. 删除表drop table if exists 表名;4. 查看表结构desc 表名;5. 查看创建表语句show create table 表名;练习:1、创建分类表分类表名称category分类表中有分类ID和分类名称两个字段分类IDcid,为整型分类名称cname,为字符串类型最大允许填写100长度的字符串CREATE TABLE IF NOT EXISTS category(cid INT,cname VARCHAR(100))2、创建测试表测试表名称test1测试表中有测试ID和测试时间两个字段测试IDtid,为整型测试时间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 改名成 category2RENAME TABLE category TO category2;alter table 表名 character set 字符集(了解);作用修改表的字符集例如#6, 为分类表 category 的编码表进行修改修改成 gbkALTER TABLE category CHARACTER SET gbk;3.3.DML数据操作语言(重点)DMLData 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, 女, liuyan163.com); #字段名是否可以省略不写 可以省略(不建议省略) INSERT INTO student VALUES(2, 王冰冰, 20, 男, bingbing126.com); INSERT INTO student VALUES(3, 宝强绿, 50, 人妖王, baoqiang126.com); #批量添加数据 #向学生表中添加多行记录 INSERT INTO student VALUES(4, 黄渤, 18, 男, huangbo163.com), (5, 刘涛, 18, 女, liutao163.com), (6, 张艺兴, 30, 男, xiaomianyang163.com)2 .修改操作修改表数据UPDATE 表名 SET 列名1值1, 列名2值2, … [WHERE 条件] ;注意修改语句中如果不加条件则将所有数据都修改像上面的语句中的中括号表示在写sql语句中可以省略这部分#需求: 修改学生表中性别(不添加条件的修改慎用) UPDATE student SET ssex男; #需求: 根据sid1修改这个学生的性别; UPDATE student SET ssex女 WHERE sid1; /* 思考: 修改时是否可以根据姓名去修改性别, 如果出现同名的情况, 会出现问题, 修改时不建议根据姓名修改; 要通过sid来修改, 因为sid是唯一的 */ #同时修改多个字段 UPDATE student SET sage38, ssex女 WHERE sid6;3 .删除操作删除数据第一种方式: DELETE FROM 表名 [WHERE 条件] ; 第二种方式: TRUNCATE table 表名; #将表中的数据清空#需求: 将sid4删除这个学生信息 DELETE FROM student WHERE sid 4; #需求:将表中的数据全部删除 DELETE FROM student; #需求:将表中的数据全部清空 TRUNCATE TABLE student; /* 区别:(面试题) delete删除是一行一行删除, 后边可以跟条件, 而truncate删除后不能跟条件 delete删除是一行一行删除, 删除效率较慢, 而truncate删除是将表中结构删除又重新创建了一张一模一样的表结构, truncate删除效率要高于delete删除 */