zoukankan      html  css  js  c++  java
  • 数据库开端

    一、关于数据库(文件夹)、表(文件)、记录(文件中的内容)

      必备知识:

          show databases;(注意加s) #查看所有的数据库

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

          use 数据库; #使用数据库(切换数据库)

          show tables;#查看数据库里面的内容

          #表是由记录(内容)放到结构(结构里包括字段)组成的

    二、数据库的增、删、改、查

      use数据库; 使用数据库(切换数据库)

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

     增

      create database #数据库名 charset编码方式; #(注意加分号,注意编码问题)

          create database db1 charset utf8;  # 创建 db1 的数据库 编码方式是 UTF-8

     删

      drop database 数据库名 charset 编码方式;   #(注意加分号)

       改

      alter database 数据库名 charset 编码方式;

     查:查看数据库里面的格式  

      show create database 数据库; # 查看当前创建的数据库
      show databases;(注意加 s ) # 查看所有的数据库

      show tables; 查看数据库里面的内容

    表(文件)的增删改查

      数据库中的表也应该有不同的类型,表的类型不同,会对应mysql不同的存取机制,表类型又称为存储引擎。

    即:储存引擎的不同,导致了表的不同。5.5版本以上默认使用innodb引擎
    表的不同 导致表内存放的数据也要有不同的类型 每种数据类型都有自己的宽度,但宽度是可选的
    show enginesG; # 查看所有支持的引擎
    show variables like 'storage_engine%'; # 查看正在使用的存储引擎

     use 数据库;#切换数据库

    select database(); #查看当前所在文件夹

    创建表

      create table 表名(字段名1 类型[(宽度) 约束条件],字段名2 类型[(宽度) 约束条件]);

    #注意:

      1. 在同一张表中,字段名是不能相同;

      2. 宽度和约束条件可选;

      3. 字段名和类型是必须的

      create table 表名(id int,name char); #注意这个表没有限制条件 即:id和name可以为空;

      drop table 表名;

    改:只能修改表的字段(即文件名;或者可以理解为表格的表头,想要修改内容只能针对记录(文件的内容)修改)

      alter table 表 modify name char(6);             # modify修改的意思 修改字段的长度 

      alter table 表 change name NAMA char(7);        # 修改字段名,类型

           alter table 表 default character set gbk; 修改默认字符集??
      alter table 表 convert to character set gbk; 修改默认字符集??

      alter table 表 add 字段,类型; # add 增加的意思 为 表 增加字段,类型
      alter table 表 add 新添加 int(4) not null; 添加列
      alter table 表 drop 要删除的项目; 删除列

    查:

      show tables; #查看所有的表

      desc t1表; # 查看 t1表 的详细信息(推荐)
      字段 类型 是否为空 默认。(空) 信息
      +-------+---------+------+-----+---------+-------+
      | Field | Type | Null | Key | Default | Extra |
      +-------+---------+------+-----+---------+-------+
      | id | int(11) | YES | | NULL | |
      | name | char(1) | YES | | NULL | |
      +-------+---------+------+-----+---------+-------+
      int 表示的是显示宽度 而不是存储宽度 我们使用默认的就可以 # zerofill 用0填充
      char 表示的是字符的长度

      show create table t1表;  #查看当前的这张 t1表,比 desc 表 丑

    记录(文件的内容)的增删改查

      insert (into 可以不写) 表(id,name) values(1,"mjj01"),(2,"mjj02"),(3,"mjj03");

      # 插入一条记录,规定id,name数据
      请注意:表的类型中的char 括号里面的 数值 那是字符的长度

      复制 (注意在哪里执行命令就复制到哪里)

        完全复制:表的结构和记录(注意在哪里执行命令就复制到哪里)

        create table 新的表(复制者) select * from 数据库.表(被复制者);  从 数据库.表 选择     所有 进行复制;

        不完全复制:只复制表的结构  给一个where条件,条件要求不成立,则只拷贝表结构

        create table 新的表(复制者) select * from 数据库.表(被复制者) where false; 

        从 数据库.表 选择 结构 

      delete from 表; 删除 表 里所有的记录
      delete from 表 where id=2; 删除 表 里id为2的记录
      若要删除多条,可用范围条件或OR
      如
        delete from student where id>100
        delete from student where id=1 or id =2
      甚至可以
        delete from student where id<>2
        这个表中只剩id=2的记录了

      alter table t1 drop id;  --》  删除单个字段。(不能全部删除,起码留一个)。

      alter table b1 drop name,drop age;  --》  删除多个字段。

      update 表 set name='zhangsan';(请注意:表的类型中的char) 修改 表 里面的 所有的name

      update 表 set name='alex' where id=2;   修改 表 里面的 id为2的name

      select 选项 from 表.记录; 从 表.记录 中选择 选项 进行查找

      select * from 表.记录; 从 表.记录 中选择 所有 进行查找

    认真做一件事,并将之完全学会掌握为止!
  • 相关阅读:
    python二维数组切片
    [转载]MIPS常用指令及实例
    使用vim编程步骤
    数组指针和指针数组
    线程基础
    顶层const和底层const
    递归调用
    输出流
    C++代码规范
    I/O流
  • 原文地址:https://www.cnblogs.com/wr13640959765/p/9556428.html
Copyright © 2011-2022 走看看