精华内容
下载资源
问答
  • MySQL创建数据库创建数据表

    万次阅读 多人点赞 2019-10-20 23:44:40
    MySQL 创建数据库创建数据表 MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。 在这之前,需要先安装好 MySQL ,然后创建好数据库、数据表、操作用户。 一、数据库操作语言 数据库...

    MySQL 创建数据库和创建数据表

    MySQL 是最常用的数据库,在数据库操作中,基本都是增删改查操作,简称CRUD。

    在这之前,需要先安装好 MySQL ,然后创建好数据库、数据表、操作用户。

    一、数据库操作语言

    数据库在操作时,需要使用专门的数据库操作规则和语法,这个语法就是 SQL(Structured Query Language) 结构化查询语言。

    SQL 的主要功能是和数据库建立连接,进行增删改查的操作。SQL是关系型数据库管理系统的标准语言。

    SQL 语言的作用:

    1. 数据定义语言 DDL(Data Definition Language) 。用于创建数据库,数据表。

    2. 数据操作语言 DML(Data Manipulation Language) 。用于从数据表中插入、修改、删除数据。

    3. 数据查询语言 DQL(Data Query Language) 。用于从数据表中查询数据。

    4. 数据控制语言 DCL(Data Control Language) 。用来设置或修改数据库用户或角色的权限。

    使用 SQL 操作数据库时,所有的 SQL 语句都以分号结束。(切换数据库时可以不用分号)

    在 SQL 语句中,不区分大小写,编写 SQL 语句时可以根据情况用大小写的区别来增加可读性。

    二、创建数据库

    1. 连接 MySQL

    输入 mysql -u root -p 命令,回车,然后输入 MySQL 的密码(不要忘记了密码),再回车,就连接上 MySQL 了。

    mysql -u root -p

    最初,都是使用 root 用户登录,工作中如果一直用 root 用户登录,因为权限太大,风险是很大的,所以等创建好权限适合的用户后,就不要经常登录 root 用户了。

    2. 查看当前的数据库

    使用 show databases; 查看当前安装的 MySQL 中有哪些数据库。

    show databases;

    刚安装 MySQL 时,默认有四个数据库,information_schema,mysql,perfomance_schema,sys 。通常情况下,我们不会直接使用这四个数据库,但千万不要把这四个数据库删了,否则会带来很多不必要的麻烦。如果不小心删了,建议是重新安装 MySQL ,在重装之前把自己的数据迁移出来备份好,或者从其他服务器上迁移一个相同的数据库过来。

    3. 创建数据库

    使用 create database 数据库名; 创建数据库。

    create database MyDB_one;

    创建数据库成功后,数据库的数量变成了5个,多了刚才创建的 MyDB_one 。

    4. 创建数据库时设置字符编码

    使用 create database 数据库名 character set utf8; 创建数据库并设置数据库的字符编码。

    create database MyDB_two character set utf8;
    

    直接创建的数据库,数据库的编码方式是 MySQL 默认的编码方式 latin1 (单字节编码) ,通常我们会在数据库中存放中文数据,所以最好把数据库的编码方式设置成 utf-8 ,这样中文才能正常显示。

    create database MyDB_three charset utf8;

    character set 可以缩写成 charset ,效果是一样的。

    5. 查看和显示数据库的编码方式

    使用 show create database 数据库名; 显示数据库的创建信息。

    show create database MyDB_one;
    show create database MyDB_two;

    如果不知道一个数据库的编码方式是什么,可以使用 show create database 数据库名 来查看数据库的编码方式。可以看到刚才创建的 MyDB_one 的编码方式是 MySQL 的默认编码 latin1 ,MyDB_two 的编码方式是 utf-8 。

    当然,这种方式不能在创建的同时显示,只能查看一个已经存在的数据库的编码方式。

    6. 使用 alter database 数据库名 character set utf8; 修改数据库编码

    alter database MyDB_one character set utf8;

    如果一个数据库的编码方式不符合使用需求,可以进行修改。刚才创建的 MyDB_one 经过修改后,编码方式也变成了 utf-8 。

    7. 进入或切换数据库

    使用 use 数据库名 进入或切换数据库。

    use MyDB_one
    use MyDB_two;

    刚连接上 MySQL 时,没有处于任何一个数据库中,如果要使用某一个数据库,就需要进入到这个数据库中。

    use 数据库名 这个命令后面的分号可以省略,这是 SQL 语句中唯一可以省略分号的语句。

    8. 显示当前数据库 select database();

    select database();

    进入数据库中,可以使用 select database(); 来查看当前处于哪个数据库中。长时间操作数据库时,在很多数据库中来回切换后,查看当前的数据库,避免操作错了数据库。

    三、创建数据表

    1. 查看当前数据库中的表

    使用 show tables;查看当前数据库中有哪些表。

    show tables;
    

    在刚才创建的数据库 MyDB_one 中,还没有创建任何表,所以当前是空的。

    2. 创建表

    使用 create table 表名(字段1 字段类型,字段2 字段类型,字段3 字段类型,…); 来创建一张表。

    create table Phone_table(pid INT, name CHAR(20), price INT);

    在 MyDB_one 中创建了一个叫 Phone_table 的数据表,这张表有三个字段 pid,name,price 。为了增加 SQL 的可读性,字段名我用的是小写,字段类型用大写。

    3. 显示表信息

    用 show create table 表名; 来显示已创建的表的信息。

    show create table Phone_table;

    使用 show create table 表名;  可以显示表的字段信息, MySQL 的引擎,和默认的字符编码等信息。与显示数据库信息一样,show 只能显示已经创建了的数据表的信息,不能在创建的同时显示信息。

    如果想更好地展示表的字段信息,可以使用 desc 表名; 来显示表的字段信息。

    4. 给表增加字段

    使用 alter table 表名 add 字段名 数据类型; 为已存在的表添加一个新字段。

    alter table Phone_table add color CHAR(20);

    添加后,刚才的表中多了一个字段,新增成功。

    5. 删除表的字段

    使用 alter table 表名 drop 字段名; 删除一个表中已存在的字段。

    alter table Phone_table drop price;

    删除字段后,表中不再有该字段。

    6. 修改字段的数据类型

    使用 alter table 表名 modify 字段名 数据类型; 修改表中现有字段的数据类型。

    alter table Phone_table modify name VARCHAR(12);

    修改之后,该字段的数据类型发生改变。

    7. 修改字段的数据类型并且改名

    使用 alter table 表名 change 原字段名 新字段名 数据类型; 修改表中现有字段的字段名和类型。

    alter table Phone_table change name pname CHAR(18);

    现在,将表的 name 改成了 pname ,同时修改了 pname 的数据类型。

    四、MySQL 常用字段类型

    一个数据表是由若干个字段组成的,一个表十几个字段也很正常,每个字段表示不同的信息,需要使用不同类型的数据。

    所以在创建表的时候,要为每个字段指定适合的数据类型。

    MySQL 中常用的字段类型有以下这些:

    1. 整数类型

    数据类型数据范围
    TINYINT-128 -- 127
    SMALLINT-32768 -- 32767
    MEDIUMINT-2^23 -- 2^23-1
    INT-2^31 -- 2^31-1
    BIGINT-2^63 -- 2^63-1

    2. 字符串类型

    数据类型字节范围用途
    CHAR(n)0 -- 255字节定长字符串
    VARCHAR(n)0 -- 65535字节变长字符串
    TEXT0 -- 65535字节长文本数据
    LONGTEXT0 -- 2^32-1字节极大文本数据
    BLOB0 -- 65535字节二进制长文本数据
    LONGBLOB0 -- 2^32-1字节二进制极大文本数据

    3. 小数类型

    m 表示浮点数的总长度,n 表示小数点后有效位数。

    数据类型数据用法数据范围
    FloatFloat(m,n)7位有效数
    DoubleDouble(m,n)15位有效数
    DecimalDecimal(m,n)28位有效数

    4. 时间类型

    数据类型格式用途
    DATEYYYY-MM-DD日期
    TIMEHH:MM:SS时间
    YEARYYYY年份
    DATETIMEYYYY-MM-DD HH:MM:SS日期和时间
    TIMESTAMP10位或13位整数(秒数)时间戳

    5. 枚举类型

    enum(枚举值1,枚举值2,...)

    枚举类型只能在列出的值中选择一个,如性别。

     

     

    展开全文
  • SingleLinkedList单向链表插入,删除,查找,修改详解及代码 单向链表学习目标 1. 链表的介绍 2. 单向链表的存储特点以及原理 3. 基本操作:插入,删除等 4. 单向链表应用场景举例 5. 代码实现 一,单向链表的介绍 ...

    SingleLinkedList单向链表插入,删除,查找,修改详解及代码

    单向链表学习目标

    1. 链表的介绍
    2. 单向链表的存储特点以及原理
    3. 基本操作:插入,删除等
    4. 单向链表应用场景举例
    5. 代码实现

    一,单向链表的介绍
    链表是一个有序列表,单向链表有一个头结点(根据需要设置,也可没有)一般不存储数据,只表示一个单向链表的起始位置,单向链表的节点组成:一个data域和一个next指针域,指向下一个节点。

    二,单向链表的存储特点
    在这里插入图片描述
    1)链表是以节点的方式来存储,是链式存储
    2)每个节点包含data域,next域:指向下一个节点.
    3)如上图:发现链表的各个节点不一定是连续存储
    4)链表分带头节点的链表和没有头节点的链表,根据实际的需求来确定。

    存储示意图:
    在这里插入图片描述
    三,基本操作

    • 插入:核心代码:newNode.next = temp.next,然后temp.next = newNode;
    • 删除:先查找到那个元素,然后进行删除,前后节点的指针重新设置,temp.next = temp.next.next,删除后的元素没有其他引用指向,会被垃圾回收机制进行回收处理。
    • 修改:先找到修改的元素,然后进行修改
    • 查找:遍历

    四,应用场景举例
    需求:写一个王者荣耀英雄榜,将英雄插入到链表中,并且实现增删改查操作。

    五,代码实现

    package com.atxiaopeng.linkedlist;
    
    import java.util.Scanner;
    
    public class SingleLinkedListDemo {
    
    	public static void main(String[] args) {
    		// TODO Auto-generated method stub
    		//1,创建英雄榜
    		SingleLinkedlist s = new SingleLinkedlist();
    //		HeroNode h1 = new HeroNode(1, "阿珂", "节奏热浪");
    //		HeroNode h2 = new HeroNode(2, "猴子", "大圣娶亲");
    //		HeroNode h3 = new HeroNode(3, "李白", "凤  求  凰");
    //		HeroNode h4 = new HeroNode(4, "露娜", "紫霞仙子");
    		boolean b = true;
    		while (b) {
    			
    			System.out.println("==========王者英雄榜==========");
    			System.out.println("      1,创建英雄并进榜(无序) ");
    			System.out.println("      2,创建英雄并进榜(有序)");
    			System.out.println("      3,修改英雄属性                       ");
    			System.out.println("      4,英雄榜删除英雄        ");
    			System.out.println("      5,显示当前英雄榜    ");
    			System.out.println("      6,退出程序      ");
    			System.out.println("===========================");
    			System.out.print("输入操作的选项:  ");
    			
    			int key = new Scanner(System.in).nextInt();
    			switch (key) {
    			case 1:
    				s.createHero1();
    				break;
    			
                case 2:
                	s.createHero2();
    				break;
    
                case 3:
    				s.update();
    				break;
                case 4:
    				s.delete();
    				break;
                case 5:
    				s.show();
    				break;
                case 6:
    				b = false;
    				System.out.println("程序成功退出!");
    				break;           
                
                default:
    				break;
    			}
    			
    		}
    		
    	}
    
    }
    
    class SingleLinkedlist{
    	
    	//1,创建头结点,不存放数据,不让随便动
    	private	HeroNode headHeroNode = new HeroNode(0, "", "");
    
    	boolean flag = false;//判断标志,例如:判断为空的标志等
    	//创建英雄并无序插入
    	public void createHero1() {
    		System.out.print("输入你要加入英雄的排名:");
    		int newNu = new Scanner(System.in).nextInt();
    		System.out.print("输入你要加入英雄的名字:");
    		String newName = new Scanner(System.in).next();
    		System.out.print("输入你要加入的英雄的常用皮肤:");
    		String newSkin = new Scanner(System.in).next();
    		add(new HeroNode(newNu,newName,newSkin));
    	}
    	//创建英雄并有序插入
    	public void createHero2() {
    		System.out.print("输入你要加入英雄的排名:");
    		int newNu = new Scanner(System.in).nextInt();
    		System.out.print("输入你要加入英雄的名字:");
    		String newName = new Scanner(System.in).next();
    		System.out.print("输入你要加入的英雄的常用皮肤:");
    		String newSkin = new Scanner(System.in).next();
    		addByordering(new HeroNode(newNu,newName,newSkin));
    	}	
    	//2,无序插入
    	public void add(HeroNode heroNode) {
    		
    		HeroNode temp = headHeroNode;
    		while (true) {
    			if (temp.next == null) {
    				break;
    			}
    			if (temp.next.nu == heroNode.nu) {
    					flag = true;
    					break;
    				}
    			temp = temp.next;
    		}
    		if (flag) {
    			System.out.println("排名 : "+heroNode.nu+" 英雄之前已经加入,不能再次加入!");
    		}else {
    			heroNode.next = temp.next;
    			temp.next = heroNode;
    			System.out.println(heroNode.name+" 成功加入王者英雄榜!(无序)");
    		}
    		flag = false;
    		
    	}
    	//3,有序插入
    	public void addByordering(HeroNode heroNode) {
    		
    		HeroNode temp = headHeroNode;
    		while (true) {
    
    			if (temp.next == null) {
    				break;
    			}
    			if (temp.next.nu > heroNode.nu) {
    				break;
    			}else if (temp.next.nu == heroNode.nu) {
    				flag = true;
    				break;
    			}
    			temp = temp.next;
    		}
    		if (flag) {
    			System.out.println("排名 : "+heroNode.nu+" 英雄之前已经加入,不能再次加入!");
    		}else {
    			heroNode.next = temp.next;
    			temp.next = heroNode;
    			System.out.println(heroNode.name+" 成功加入王者英雄榜!(有序)");
    		}
    		flag = false;
    	}
    		
    	
    	//删除英雄
    	public void delete() {
    		
    		HeroNode temp = headHeroNode;
    		HeroNode random ;
    
    		if (temp.next == null) {
    		 System.out.println("英雄榜为空,无法删除!!!");
    		 return; //直接返回,不再继续往下运行
    		}
    		
    		System.out.print("输入要删除英雄的名字:");
    		Scanner input =  new Scanner(System.in);
    		String s1 = input.next();
    		while (true) {
    			if (temp.next == null) {
    				flag = true;
    				break;
    			}else if (temp.next.name.equals(s1)) {
    				break;
    			}
    			temp = temp.next;
    		}
    		if (flag) {
    			System.out.println("英雄榜中不存在该英雄,无法删除!!!");
    		} else {
    			random = temp.next;
    			temp.next = random.next;
    			System.out.println(random.name+" 英雄删除成功!");
    		}
    		flag = false;
    	}
    	//修改英雄属性
    	public void update() {
    		
    		HeroNode temp = headHeroNode;
    		if (temp.next == null) {
    			System.out.println("英雄榜为空,无法修改!");
    			return;
    		}
    		
    		System.out.print("输入你要修改的英雄的名字:");
    		String name = new Scanner(System.in).next();
    		while (true) {
    			if (temp.next == null) {
    				flag = true;
    				break;
    			}else if (temp.next.name.equals(name)) {
    				break;
    			}
    			temp = temp.next;
    		}
    		if (flag) {
    			System.out.println("英雄榜中不存在该英雄,无法修改!!!");
    		} else {
    			System.out.print("输入你要修改英雄的名字:");
    			String newName = new Scanner(System.in).next();
    			System.out.print("输入你要修改的英雄的常用皮肤:");
    			String newSkin = new Scanner(System.in).next();
    			temp.next.name = newName;
    			temp.next.skin = newSkin;
    			System.out.println("===英雄榜已更新!===");
    			}
    		flag = false;
    		
    	}
    	
    	//显示英雄榜
    	public void show() {
    		
    		HeroNode temp = headHeroNode;
    		
    		if (temp.next == null) {
    			System.out.println("王者英雄榜尚未有英雄加入!");
    			return;
    		}
    		while (true) {
    			if (temp.next == null) {
    				break;
    			}
    			
    			temp = temp.next;
    			System.out.println(temp+" ");
    		}
    		
    	}
    	
    }
    
    
    
    class HeroNode{
    	
    	public int nu ;
    	public String name;
    	public String skin;
    	public HeroNode next;
        
    	public HeroNode(int n,String name ,String skin){
    		this.nu = n;
    		this.name = name;
    		this.skin = skin;
    	}
    
    	@Override
    	public String toString() {
    		return "王者英雄榜 :[排名=" + nu + ", 名字=" + name + ", 皮肤=" + skin + "]";
    	}
        
    }
    

    以上是我写的代码,仅供参考,欢迎指正。

    注意:下一篇我们聊一聊线性存储和链式存储的优缺点比较,以及应用场景。

    展开全文
  • 表修改_数据插入_教学代码.sql
  • 课程名称MySQL数据库技术实验成绩 实验名称实验三:表数据插入修改和删除学号 姓名 班级 日期 实验目的:1.掌握使用SQL语句对表进行插入修改和删除数据操作;2.掌握图形界面下对表进行插入修改和删除...

    课程名称

    MySQL数据库技术

    实验

    成绩

     

    实验名称

    实验三:表数据的插入、修改和删除

    学号

     辅导老师;陶荣

    姓名

     

    班级

     

    日期

     

    实验目的:

    1.掌握使用SQL语句对表进行插入、修改和删除数据操作;

    2.掌握图形界面下对表进行插入、修改和删除数据操作;

    3.了解数据更新操作时要注意数据完整性。

    实验平台:

    MySQL+SQLyog;

    实验内容与步骤:

    1. 使用SQL命令往Employees表中插入下列记录。

                              Employees

    编号

    姓名

    学历

    出生日期

    性别

    工作时间

    住址

    电话

    部门号

    000001

    王林

    大专

    1966-01-23

    1

    8

    中山路32-1-508

    83355668

    2

    010008

    伍容华

    本科

    1976-03-28

    1

    3

    北京东路

    100-2

    83321321

    1

    020010

    王向容

    硕士

    1982-12-09

    1

    2

    四牌楼10-0-108

    83792361

    1

    020018

    李丽

    大专

    1960-07-30

    0

    6

    中山东路

    102-2

    83413301

    1

    102201

    刘明

    本科

    1972-10-18

    1

    3

    虎距路

    100-2

    83606608

    5

    102208

    朱俊

    硕士

    1965-09-28

    1

    2

    牌楼巷

    5-3-106

    84708817

    5

    108991

    钟敏

    硕士

    1979-08-10

    0

    4

    中山路

    10-3-105

    83346722

    3

    2. 在图形界面下往Departments表中插入下列记录。

                                Departments

      部门号

    部门名称

        备注

    1

       财务部

    NULL

    2

     人力资源部

    NULL

    3

     经理办公室

    NULL

    4

    研发部

    NULL

    5

    市场部

    NULL

    3. 使用SQL命令往Salary表中插入下列记录。

             编号

            收入

          支出

           000001

            2100.8

         123.09

           010008

            1582.62

          88.03

           102201

            2569.88

          185.65

           020010

            2860.0

          198

           020018

            2347.68

          180

           108991

            3259.98

          281.52

           102208

            1980.0

          100.0

    4. 使用create table ..like命令创建一个同结构的Employees1表,并将Employees表中的所有记录插入到该表中。

     

    5. 将表Employees1中编号为020018的记录的部门号改为4.

     

    6. 删除表Employees1的第1行。

     

    7. 使用insert into 语句向Employees1表中插入刚删除的1条记录。

     

    8. 使用replace into 语句向Departments表中插入一行记录:

    1,广告部,负责推广产品

     

    9. 使用SQL命令修改Salary中的某个记录的字段值。将编号为102201的人员的收入修改为2890元,并显示查看。

     

    10. 将所有员工的收入增加100元。

     

    11. 删除表Employee1中编号为102201的职工信息。

     

    12. 删除Employees1表中所有收入大于2500元的员工信息。

     

    13. 使用truncate table语句删除Emloyees1表中所有行。

     

    14. 删除Emloyees1表。

    实验总结(结论或问题分析):

    create table `Employees`(编号 varchar(19) ,姓名 varchar(10),  学历 char(4) ,出生日期 DATE, 性别 TINYINT, 工作时间 int (4),住址 varchar(40), 电话 varchar(20), 部门号 INT(4));
    INSERT INTO Employees(编号,姓名, 
    学历 , 出生日期 ,性别, 工作时间 ,住址 ,电话 ,部门号  )
    VALUES('000001','王加','大专','1966-01-23',0,8,'中山路32-1-508','83355666',2),
          ('000008','伍荣华', '本科','1976-03-28',0,3,'北京东路100-2','833321321',1),
          ('020010','王向荣', '硕士','1982-12-09',1,2,'四牌楼10-0-108','83792361',1),
          ('020018', '李丽', '大专','1960-07-30',1,6,'中山东路102-2','83413301',1),
          ('102201', '刘明','本科','1972-10-18',0,3,'虎踞路100-2','83606608',5),
          ('102208', '朱骏', '硕士','1965-09-28',1,2, '牌楼巷5-3-106','84708817',5),
          ('108991','钟敏', '硕士','1979-08-1',1,4,'中山路10-3-105','83346722',3);
          CREATE TABLE Employees1 LIKE Employees;
          UPDATE Employees1 
    SET 部门号=4
    WHERE 编号='020018';  
    CREATE TABLE  Employees1 SELECT*FROM Employees
    UPDATE Employees1 
    SET 部门号=4
    WHERE 编号='020018';
     DELETE FROM Employees1 WHERE  编号=000001 
    INSERT INTO Employees1(编号,姓名, 
    学历 , 出生日期 ,性别, 工作时间 ,住址 ,电话 ,部门号  )
    VALUES('000001','王加','大专','1966-01-23',0,8,'中山路32-1-508','83355666',2);

     create table  Departments(部门号 INT ,
    部门名称 VARCHAR(20) );
    INSERT INTO Departments (部门号 ,部门名称  )
    VALUES(1,'财务部'),(2,'人力资源部'),
         (3,'经理办公室');
    replace into Departments (部门号 ,部门名称  )
    VALUES(4,'研发部'),(5 ,'市场部'),(6 , '广告部');
    use yggl1;
    create table Salary(编号 varchar(19),
    收入 double ,
    支出 double  );
    INSERT INTO Salary (编号 ,收入 ,支出 )
    VALUES('000001',2100.8,123.09),('010008',1582.62,88.03),
         ('102201',2569.88,185.65),('102201',2569.88,185.65),

         ('020018',2347.68,180),('108991',3259.98,281.52);

    update Salary set 收入=2890 where 编号='102201'
    update Salary set 收入=收入+100 
    delete from Salary where 编号=102201
    delete from Salary where 收入>2500
    truncate TABLE Employees1
    drop table Employees1


    展开全文
  • MYSQL修改插入删除表格数据

    千次阅读 2018-06-04 23:28:04
    数据库博文汇总MYSQL查询表格数据基本操作指南MYSQL中编辑表格相关基本操作指南MYSQL修改插入删除表格数据本篇博客旨在更详细简洁的介绍MYSQl修改表格数据的相关基本操作,包括插入数据修改数据和删除数据。...

    数据库博文汇总

    本篇博客旨在更详细简洁的介绍MYSQl修改表格数据的相关基本操作,包括插入数据、修改数据和删除数据。文中有详细的源代码作示例,可以粘贴到MYSQL直接运行。

    插入数据

    首先创建一个空表格,id是唯一的,且自增长:

    USE `s_book`;  
    DROP TABLE IF EXISTS `t_book`;  /*上次博客用了这个表格,这次我们重新建立一个*/
    create table `t_book`(          
      `id` int(11) NOT NULL AUTO_INCREMENT,  /*auto_increment 表示id 自增长,意思是,我插入一串数据,id自动增加*/
      `bookName` varchar(20) DEFAULT NULL,   
      `price` decimal(6,2) DEFAULT NULL,  
      `author` varchar(20) DEFAULT NULL,  
      `bookTypeId` int(11) DEFAULT NULL,  
      PRIMARY KEY (`id`)  
    ) 
    mysql> desc t_book; /*表格创建完成了*/
    +------------+--------------+------+-----+---------+----------------+
    | Field      | Type         | Null | Key | Default | Extra          |
    +------------+--------------+------+-----+---------+----------------+
    | id         | int(11)      | NO   | PRI | NULL    | auto_increment |
    | bookName   | varchar(20)  | YES  |     | NULL    |                |
    | price      | decimal(6,2) | YES  |     | NULL    |                |
    | author     | varchar(20)  | YES  |     | NULL    |                |
    | bookTypeId | int(11)      | YES  |     | NULL    |                |
    +------------+--------------+------+-----+---------+----------------+
    mysql> select *from t_book; /可以看到这是个空表格,方便后续插入数据/
    Empty set (0.00 sec)

    • 给表的所有字段插入数据 语法:INSERT INTO 表名 VALUES(1,值 2,值 3...,值 n)
    mysql> insert into t_book values(null,'数学分析',120,'张三',1);
    /*由于id自动增长,我们直接用Null就行了;这儿要注意,字符型要加英文的引号'',逗号也要是英文的,不然会报错*/
    mysql> select *from t_book;  /*这就插入数据成功了*/
    +----+--------------+--------+--------+------------+
    | id | bookName     | price  | author | bookTypeId |
    +----+--------------+--------+--------+------------+
    |  1 | 数学分析     | 120.00 | 张三   |          1 |
    +----+--------------+--------+--------+------------+
    • 给表的指定字段插入数据 语法:INSERT INTO 表名(属性 1,属性 2...,属性 n) VALUES(1,值 2,值 3...,值 n)
    mysql> insert into t_book(bookname,author,booktypeid) values('高等代数','张三',2);
    /*注意逗号和引号,t_book()里面要和后面的values()一一对应*/
    
    mysql> select *from t_book; /*未插入的数据就用null代替*/
    +----+--------------+--------+--------+------------+
    | id | bookName     | price  | author | bookTypeId |
    +----+--------------+--------+--------+------------+
    |  1 | 数学分析     | 120.00 | 张三   |          1 |
    |  2 | 高等代数     |   NULL | 张三   |          2 |
    +----+--------------+--------+--------+------------+
    
    • 同时插入多条记录 语法:INSERT INTO 表名 [(属性列表)]VALUES(取值列表 1)(取值列表 2)...(取值列表 n) 
    mysql> insert into t_book values(null,'泛函分析',110,'李四',3),(null,'复变函数',80,'李四',4);
    /*插入多条数据,直接如上所示*/
    mysql> select *from t_book;
    +----+--------------+--------+--------+------------+
    | id | bookName     | price  | author | bookTypeId |
    +----+--------------+--------+--------+------------+
    |  1 | 数学分析     | 120.00 | 张三   |          1 |
    |  2 | 高等代数     |   NULL | 张三   |          2 |
    |  3 | 泛函分析     | 110.00 | 李四   |          3 |
    |  4 | 复变函数     |  80.00 | 李四   |          4 |
    +----+--------------+--------+--------+------------+

    更新数据

    • 修改更新数据(UPDATE 表名 SET 属性名 1=取值 1,属性名 2=取值 2...,属性名 n=取值 n WHERE 条件表达式)
    mysql> update t_book set price=20 where id=2; 
    /*将表格第二行的价格改成20*/
    mysql> select *from t_book;
    +----+--------------+--------+--------+------------+
    | id | bookName     | price  | author | bookTypeId |
    +----+--------------+--------+--------+------------+
    |  1 | 数学分析     | 120.00 | 张三   |          1 |
    |  2 | 高等代数     |  20.00 | 张三   |          2 |
    |  3 | 泛函分析     | 110.00 | 李四   |          3 |
    |  4 | 复变函数     |  80.00 | 李四   |          4 |
    +----+--------------+--------+--------+------------+
    
    mysql> update t_book set price=100 where id in (1,4);
    mysql> update t_book set price=20 where id between 1 and 4;
    /*把id在1到4之间的price全改成20*/
     
    mysql> select *from t_book;
    +----+--------------+-------+--------+------------+
    | id | bookName     | price | author | bookTypeId |
    +----+--------------+-------+--------+------------+
    |  1 | 数学分析     | 20.00 | 张三   |          1 |
    |  2 | 高等代数     | 20.00 | 张三   |          2 |
    |  3 | 泛函分析     | 20.00 | 李四   |          3 |
    |  4 | 复变函数     | 20.00 | 李四   |          4 |
    +----+--------------+-------+--------+------------+
    mysql> update t_book set price=60 where id>2;/*把id>2的价格设置为60*/
    mysql> update t_book set price=70 where author like '%张三%';
    /*把author中含有‘张三’的行的价格改成70*/
    
    mysql> select *from t_book;
    +----+--------------+-------+--------+------------+
    | id | bookName     | price | author | bookTypeId |
    +----+--------------+-------+--------+------------+
    |  1 | 数学分析     | 70.00 | 张三   |          1 |
    |  2 | 高等代数     | 70.00 | 张三   |          2 |
    |  3 | 泛函分析     | 60.00 | 李四   |          3 |
    |  4 | 复变函数     | 60.00 | 李四   |          4 |
    +----+--------------+-------+--------+------------+
    其实where 条件表达式还有很多,大家可以参考我的博文 MYSQL查询表格数据基本操作指南里面有更详细的where表达式用法。

    删除数据

    • 删除表格数据(语法:DELETE FROM 表名 [WHERE 条件表达式]

    mysql> DELETE FROM t_book WHERE id=4;
    /**删除第四行/
    mysql> select *from t_book;
    +----+--------------+-------+--------+------------+
    | id | bookName     | price | author | bookTypeId |
    +----+--------------+-------+--------+------------+
    |  1 | 数学分析     | 70.00 | 张三   |          1 |
    |  2 | 高等代数     | 70.00 | 张三   |          2 |
    |  3 | 泛函分析     | 60.00 | 李四   |          3 |
    +----+--------------+-------+--------+------------+
    mysql> delete from t_book where author like '%张三%';
    /*删除作者姓名包含‘张三’的行*/
    mysql> select *from t_book;
    +----+--------------+-------+--------+------------+
    | id | bookName     | price | author | bookTypeId |
    +----+--------------+-------+--------+------------+
    |  3 | 泛函分析     | 60.00 | 李四   |          3 |
    +----+--------------+-------+--------+------------+
    1 row in set (0.00 sec)
    类似更新数据中WHERE表达式其实where 条件表达式还有很多,这里就不一一说明了,只要表达式符合逻辑,就可以进行删除操作。










    展开全文
  • MySQL数据库数据插入修改、删除操作实验

    千次阅读 多人点赞 2019-10-12 18:38:13
    学校教师管理数据库中的teacherInfo,其的定义如下所示,请完成如下操作: create database sttafinfo; use sttafinfo; CREATE TABLE teacherInfo ( num INT(10)NOT NULL UNIQUE , Name VARCHAR(20)NOT NULL...
  • 双向链表结点的插入和删除算法

    万次阅读 多人点赞 2018-10-03 23:47:46
    双向链表的插入与删除 双向链表的结点定义 #define ElemType int //双向链表的存储结构 typedef struct DuLNode { ElemType data; DuLNode *prior; DuLNode *next; }DuLNode, *DuLinkList; 双向链表...
  • 但是我发现更新完之后,数据库本应该把更新日期放入到fd_create_time字段里面的,但是结果确放入到了fd_alter_time字段里而fd_create_time为null,当系统维护员在OA系统修改人员数据的时候fd_alter_time字段有被更新...
  • 只是实验没关心逻辑,上面代码实现了在 student 插入一条数据,course中满足 course.id = 插入数据的 classid 的所有数据的grade加1 扩展: CREATE DEFINER=`root`@`localhost` TRIGGER `after_insert_...
  • 线性表的基本操作及应用 ...实现带头结点的单链表的建立、求长度,取元素、修改元素、插入、删除等单链表的基本操作。 [基本要求] (1)依次从键盘读入数据,建立带头结点的单链表; (2)输出单链表...
  • 表插入排序(List Insertion Sort)是使用静态链表进行插入排序, 每次插入修改指针项, 通过指针项的链接顺序, 使静态链表有序. 修改2n次指针, 代替移动2n次数据, 因为每次修改2个指针值(代码中可见), 但比较次数仍为O...
  • #include using namespace std; #define MAXSIZE 100 typedef int DataType; ... //通常用一位数组来描述顺序数据存储 int SeqLength; /*线性表长度*/ } SeqList; SeqList *Init_Seq
  • 直接上代码: create or replace trigger trigger_name  before insert on table_name  for each row  declare  expiry_date_from_temp pur_rfx_headers.creation_date%type; begin  select h.creation_date ...
  • 运行环境Microsoft SQL Server ... 按要求创建数据库student收费,创建方法可分别参考如下链接https://blog.csdn.net/Sleepnowake/article/details/103303250,https://blog.csdn.net/Sleepnowake/article/det...
  • 链表操作之插入数据

    千次阅读 2017-04-16 22:20:48
    链表插入操作
  • 使用SQL语句修改表数据

    千次阅读 2021-10-05 15:12:55
    使用SQL语句修改表数据 利用INSERT语句输入数据 INSERT语句的基本语法格式如下: 上述格式主要参数说明如下: TOP(expression)[PERCENT]:指定将插入的随机行的数目或百分比。 INTO:一个可选的关键字,可以将它...
  • 数据结构-顺序基本操作的实现(含全部代码

    万次阅读 多人点赞 2018-09-13 22:14:57
    今天起开始编写数据结构中的各种数据结构及其算法的实现。 主要依据严蔚敏版数据结构教材以及王道数据结构考研辅导书。 今天是线性表中的顺序的实现,主要实现函数如下,读者有需要可以评论,我可以适当加几个。...
  • 数据结构-单链表基本操作-C语言代码

    万次阅读 多人点赞 2020-01-22 19:51:58
    本篇只有c语言代码,具体思路讲解请看这篇博客:数据结构-线性结构-单链表 1.头插法建立单链表 #include<stdio.h> #include<stdlib.h> //单链表的结构定义 typedef struct LNode { int data...
  • 数据库插入、删除、修改语句

    千次阅读 2020-10-31 09:56:23
    1. 向插入一行(该行的每一列都有数据) Insert intovalues(值1,值2) 2.插入数据时,只向某些列插入数据:如果插入的行中有些字段的值不确定,那么Insert的时候不指定那些列即可。 Insert into(列1)...
  • //方法1: 说明:把table2插入table1中 Insert into table1(id,name,age) value select Id,name,age table2 where ...... //方法2: 1. 先查询数据 2. Ctrl+A,右键复制insert语句 3. 放到记事本,然后修改数据库...
  • 数据表的复制 字段分列 二、实验内容:对上一章所展示的表进行数据输入、修改、删除 上一章各表的字段属性 以下为Employees,Departments,Salary表中的内容Employees表 Departments表 Salary表 三、题目:1....
  • 连带操作:首先先在Role插入一条数据,接着拿到rid,往Role-Acl插入一条数据 b)数据库设计: Role: Role-Acl: c) 代码实现: RoleMap: /** * * @Description: 新增角色 */ @Insert(&...
  • Mysql使用java代码快速插入100W数据

    千次阅读 2019-08-07 14:47:42
    由于压力测试,您需要在数据库中检索大量数据,但数据库中没有太多数据。因此,对于测试,您必须... 首先,你必须有一个数据表,注意数据表的引擎,在构建表时使用MyISAM引擎,MyISAM插入比InnoDB快得多,因为Inn...
  • 数据库如下所示: 更新触发器实现单中单条记录中字段数据变化,引起其他字段数据变化。(如上中操作后项变化,操作前项随之变化)  
  • php数据库操作-创建库和表以及插入数据

    万次阅读 多人点赞 2016-12-27 14:59:01
    以上我们正确连接到了mysql数据库,本文将进一步创建... * 数据库操作*(创建数据库,插入数据插入多条数据) * * To change the template for this generated file go to * Window - Preferences - PHPec
  •     展开“数据库”,打开相应的数据库,然后再展开“表”,,右击需要操作的数据表,选择“编辑前200行”,进入表数据编辑面板,就可以对表中的数据进行添加、修改和删除操作了。 需要说明的是,如果对数据...
  • MyBatis Plus 主子表插入与查询数据

    万次阅读 2019-01-08 15:08:53
    在mybatis plus官网代码基础上修改 Mybatis-Plus SpringMVC 演示 demo 文件结构 实体类 主:newsys_user 子:newuser_item package com.css.paas.ws.service.MyBatis.api; import ...
  • Java插入修改删除数据库数据的基本方法 这篇文章主要介绍了Java插入修改删除数据库数据的基本方法,是Java入门学习中的基础知识,需要的朋友可以参考下 Java数据库之插入记录 插入数据表记录有3种方案 一.使用...
  • 三、顺序表插入运算 四、顺序表删除运算 五、顺序表元素查找 六、顺序表取元素数据 七、主函数定义 注1. typedef 解释 注2. 链表知识点总结 一、顺序表定义及特点 1.顺序表定义 用数组存储线性表,称作...
  • 数据结构(12)线性表之C++实现一元多项式相加

    万次阅读 多人点赞 2016-03-17 11:24:57
    第二种代码的实现仅链表存储形式实现导言上篇文章,我们说明了一元多项式相加采取了什么形式抽象定义数据类型定义以及实现一元多项式相加的方法,本节将用具体代码来实现一元多项式相加。一元多项式表现形式...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 366,302
精华内容 146,520
关键字:

数据表插入和修改代码