Mysql之增删改查

这篇文章旨在介绍mysql的增删改查中的基本操作
所有命令皆是以分号(;)结尾。

1.显示命令

在写增的有关命令前,我们更应该知道如何显示,这样有助于更好的检查我们的结果是否正确。

#显示数据库列表
show databases;

#显示数据库中的数据表
use mysql; #在这里,mysql代指你需要使用的数据库名
show tables;

#显示数据库的结构
describe 表名;

#显示表中的记录
select * from 表名;

#查看当前数据库
select database();

2.建立命令

建立分为建立数据库与建立数据表,

#建数据库
create database 数据库名;

#建数据表
create table 表名(
  字段设定
  );

#请注意,在建数据表前应该使用use 数据库名以指定数据库

#添加数据
insert into 数据表名 values(数据);
#在这里,数据要跟字段的顺序相对应,也可指定字段
insert into 数据表名(字段名) values(数据);
#不能为null的数据不可空掉,这里要注意表建立时的字段定义

3.删除命令

删除命令也分为删库和删表。

  • delete主要用于删除数据,它会删除表的数据但不会改变表。
  • truncate主要用于删除数据,但保留表结构,且数据不可恢复,该命令也不能添加查询条件。
  • drop主要用于删除结构,可以理解为格式化,彻底删除。

truncate在功能上与不带 where 子句的delete语句相同:二者均删除表中的全部行。但 truncate比 delete速度快,且使用的系统和事务日志资源少。delete语句每次删除一行,并在事务日志中为所删除的每行记录一项。truncate通过释放存储表数据所用的数据页来删除数据。

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

#删除数据表
drop table 数据表名;

#将表中记录清空
delete from 数据表名;

#删除指定条件的行
delete from 数据表名 where 指定条件;

#也可以将delete改为truncate,但是truncate无法添加查询条件。truncate的删除原理是重新创建一个表,然后将原先的表删除。

4.改变命令

#更新一般使用update命令
UPDATE table_name SET column1 = value1, column2 = value2 WHERE condition;
#table_name是要更新的表名,column1和column2是要更新的列名,value1和value2是要更新的值,condition是更新的条件。

–例子

a.建库和建表以及插入数据
drop database if exists school; //如果存在SCHOOL则删除

create database school; //建立库SCHOOL

use school; //打开库SCHOOL

create table teacher //建立表TEACHER

(

id int auto_increment not null primary key,

name char(10) not null,

address varchar(50) default '深圳',

year date

); //建表结束

//以下为添加内容

insert into teacher values(1,'glchengang','深圳一中','1976-10-10');

insert into teacher(name,address,year) values('jack','深圳一中','1975-12-23');

#在建表中(1)将 ID 设为整数字段 int;让它每个记录自动加一,auto_increment ;不能为空 not null ;而且让他成为主字段 primary key(2)将 NAME 设为长度为 10 的字符字段(3)将 ADDRESS 设为长度 50 的字符字段,而且缺省值为深圳。varchar 和char 有什么区别呢,等以后再说。(4)将 YEAR 设为日期字段。
b.将表users中id为1的用户的name改为Alice
UPDATE users SET name = 'Alice' WHERE id = 1;
c.插入数据一条与多条
#插入一条数据
insert into teacher values(1,'glchengang','深圳一中','1976-10-10');

#插入多条数据
INSERT INTO students (name, age)
    VALUES ('John', 20), 
           ('Jane', 22),
           ('Mike', 19);

你可能感兴趣的:(Mysql,mysql,oracle,数据库)