数据库,表,数据的增删改查

数据库

添加数据库

  1. create database 数据库名;

    CREATE DATABASE dbhouse;
    
  2. create database if not exists 数据库名; //先判断数据库名是否存在,如果不存在,则添加。

    CREATE DATABASE IF NOT EXISTS dbhouse;
    

删除数据库

  1. drop database 数据库名;

    DROP DATABASE dbhouse;
    

修改数据库

  1. 不能修改数据库的名字
  2. 修改数据库的字符集, cmd默认gbk, mysql图形化界面默认 utf8;

    • alter database 数据库名 character set 字符集类型;

      ALTER DATABASE dbhouse CHARACTER SET utf8;
      

查看数据库

  1. 查看所有数据库

        show databases;
    
  2. 查看当前数据库

        select database();
    
  3. 查看某个数据库信息

        show create database 数据库名;
    

创建表

  1. create table 表名称(字段的名称 字段的类型 【约束】,字段的名称 字段的类型 【约束】,字段的名称 字段的类型 【约束】);
  2. 常见类型 int(整形) double(浮点型) varchar(字符串) date(日期类型,只有年月日,没有时分秒)

    CREATE TABLE student (sno INT,sname VARCHAR(32),sex VARCHAR(32),age INT);
    

删除表

  1. drop table 表名

    DROP TABLE student;
    

修改表

  1. 修改表的名称

    rename table 表名 to 新表名;
    
  2. 增加列

    alter table 表名 add 列名 数据类型;
    
  3. 删除列

    alter table 表名 drop 列名 ;
    
  4. 修改名称和类型

    alter table 表名 change 旧列名 新列名 数据类型;
    
  5. 修改类型

    alter table 表名 modify 列名 数据类型;
    
  6. 修改字符集

    alter table 表名 character set 字符集类型;
    

查看表

  1. 查看所有表

    show tables;
    
  2. 查看创建表

    show create table 表名;
    
  3. 查看表内描述信息

    desc 表名;
    

如何快速创建一个相同的表

  1. create table 新表明 like 旧表名

    CREATE TABLE teacher LIKE student;
    

数据

添加数据

  1. 插入全部字段

    • insert into 表名 values(数据1,数据2,数据3,…);

      INSERT INTO student VALUES(1,'娜娜','女',...);
      
  2. 插入部分数据

    • insert into 表名(字段1,字段2,字段3,…) values(数据1,数据2,数据3,…);

      INSERT INTO student(sno,sname,sex,...) VALUES (2,'小溪','女',...);
      
  3. 注意:
    • a、第一种语法,数据库有多少字段,必须按照字段的顺序添加
    • b、第二种语法,数据库可以选择字段添加,但是类型要 一致,字段的个数一致

删除数据

  1. delete from 表名 [where条件]

    DELETE FROM student WHERE sno=1;
    

    2.truncate 重构表

    truncate 表名; //先删除表,在重新创建表 
    

修改数据

  1. update 表名 set 字段名称1=值1,字段名称1=值1…[where 条件]

        UPDATE student SET name='小娜' WHERE sno=1;
    

查看数据

  1. 查询所有数据

    select * from 表名;
    
  2. 查询指定列

    select 列名1,列名2 from 表名;
    
  3. 别名查询

    select 列名1 as 别名1,列名2 as 别名2,列名3 as 别名3 from 表名; //给每一列起一个别名
    select * from 表名 as 别名; //给表起一个别名(常用)
    
  4. 去重查询

    • 注意:需要查询的数据最后的结果一模一样,才会去重,只要有一个字段不一样,都不去重

      select distinct 列名1,列名2 from 表名;
      
  5. 计算列

    • 注意:null 不参与计算

      select 列名1,列名2+5  from 表名  //列名2的数据+5
      

蠕虫复制

  1. 概念:其实就是将表的结构复制,标的数据复制.
  2. 应用场景:备份数据的过程
  3. 作用:将表名2中的数据复制到表名1中
  4. 语法格式:INSERT INTO 表名1 SELECT * FROM 表名2;

    INSERT INTO teacher SELECT * FROM student;
    

拓展

函数(ifnull)

  1. ifnull 函数 一般是用来参与计算,因为null不进行计算 将计算的值都变为null
  2. 参数1:需要判断的列
  3. 数2:如果为null以后 需要变为什么值
  4. select ifnull(列名,值) as 别名 from 表名

now()函数

  1. select now(); 查询现在的日期

添加数据

  1. 数据准备

    CREATE TABLE student (sno INT,sname VARCHAR(32),sex VARCHAR(32),age INT);
    
  2. 正常添加

    INSERT INTO student VALUES(1,'娜娜','女',18);
    
  3. 非正常添加

    INSERT INTO student VALUES('1','娜娜','女','18');
    
  4. 正常添加和非正常添加都能添加成功
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值