zoukankan      html  css  js  c++  java
  • 初识数据库

    一、学习目标

    • 理解数据库和表的概念
    • 怎样创建数据库和表(create)
    • 怎样往表里插入数据(insert)
    • 怎样修改表里的数据(update)
    • 怎样删除数据库,表及数据(delete)

    二、理解数据库和表概念

    数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、共享的、统一管理的数据集合。

    这个互联网世界就是数据世界。数据的来源有很多,比如 出行记录、消费记录、浏览的网页、发送的消息等等。除了文本类型的数据,图像、音乐、声音都是数据。

    数据库中包含很多的表,各个表之间存在一定的关联关系。

    三、创建数据库和表

    1. 创建数据库

    创建数据库和表都需要用到数据库脚本语言:sql,全称:Structured Query Language,结构化查询语言

    创建数据库的sql语法:create database 数据库名称;  示例:

    create database test

    2. 创建表

    建表语法:

    create table <表名>(

    <字段名1><类型1>,

    <字段名2><类型2>,

    ...

    <字段名n><类型n>

    )DEFAULT CHARSET=utf8;    示例:

    create table student(
    
    id int(12) not null PRIMARY key,
    name varchar(12),
    sex varchar(12),
    class_id varchar(12),
    school_id varchar(12),
    address varchar(12),
    create_date datetime,
    update_date datetime
    )DEFAULT CHARSET=utf8;

    解释:

    create:  创建

    table:  表

    每一个字段之所以要声明类型,是因为每一个数据都是有类型的,要么是数字,要么是字符串语句,要么是时间。一个字段声明了类型后则这个字段就只能存放相应类型的数据。

    varchar:表示此数据类型为字符串语句

    datetime:表示此数据类型为时间类型,最终保存的数据格式为:yyyy-mm-dd HH:mm:ss

    not null:表示此字段的值不能为空

    3. 表字段:主键

    表明主键的语法:<字段名><类型> primary key;

    主键是什么?它有什么特征

    1)它是数据库表的一个字段

    2)主键是非必须的,也就是说一个表可以不声明主键字段

    3)一旦声明了某个字段为主键,则该字段的值不能重复

    4)一个表只能有一个主键

    5)声明主键的时候可以只用一个字段作为主键,也可以将多个字段当作主键,后者叫联合主键

    注意:什么样的字段适合做主键?

    能够唯一的标识表中的一行数据

    4.字段类型

    每种字段都有自己的类型,比如 整数型、字符型、时间类型、日期类型、浮点型等。下面介绍常用的数据类型

    整型:

    int(n):n位长度的整数

    字符串型:一般表示姓名地址或长字符串(非数字类的值)

    char(n):n个字符,最多255个字符,固定长度

    varchar(n):可变长度,最多65535个字符,可变长度

    比较:varchar可以节约空间,但char操作起来更快一点

    时间和日期

    date:日期,格式(yyyy-mm-dd,例如:2020-03-01)

    time:时间,格式(hh:mm:ss,例如:15:16:40)

    datetime:日期时间,格式(yyyy-mm-dd hh:mm:ss,例如:2020-03-01 15:17:50)

    浮点型

    float(m, d):m代表总位数,d代表小数位,如 999.9999声明类型为:float(7,4)

    double(m, d):m总位数,d小数位

    四、数据库操作 - 插入数据(INSERT)

    1. 插入一条数据,且只对一部分字段赋值

    语法:insert into <表名>(字段A, 字段B, 字段C) values(值A, 值B, 值C);      示例:

    insert into student(id,class_id) values(1,'高一年级');

    2. 插入一条数据,对所有字段都赋值

    语法:insert into <表名> values(值A,值B,值C......,值F);     示例:

    insert into student values(1, '高一年级', SYSDATE(), SYSDATE());

    3. 一次插入多条数据

    语法:insert into <表名> values(值1,值2......),(值1,值2.....)......;    示例:一次性往年级表里面插入三条数据

    insert into student values(3,'高三年级',SYSDATE(),SYSDATE()),(4,'高四年级',SYSDATE(),SYSDATE()),(5,'高三年级',SYSDATE(),SYSDATE());

    五、数据库 -  修改数据(UPDATE)

    1.修改一个表里的所有数据

    语法:update 表名 set 字段名=新值;     示例:将学生表里所有学生的 ‘住址’ 改为“深圳宝安西乡”

    update student set address='深圳宝安西乡';

    2. 修改一个表里满足某一条件的那一部分数据

    语法:update 表名 set 字段名=新值 where 表达式;      示例:将学生表里名字为华华的家庭住址改为'北京海淀区'

    update student set address='北京海淀区' where name='华华';

    六、数据库 - 删库删表(DROP)

    1. 删除数据库

    语法:drop database 数据库名称;     示例:删除数据库 wedora

    drop database test

    2. 删除数据表

    语法:drop table 表名;       示例:删除school表

    drop table school;

    七、数据库 - 删除数据(DELETE)

    1. 删除表里的所有数据

    语法:delete from 表名;    示例:删除学生表里的所有数据

    delete from student;

    2. 删除一个表里满足某个条件的数据

    语法:delete from 表名 where 条件;     示例:删除学生表里名字为“华华”的数据

    delete from student where name='华华';

    八、常见问题注意

    1. 建表的时候每一个字段的后面用什么符号分隔?最后一个字段后面需要分隔符吗?

    逗号,不需要

    2. 插入数据时,只初始化部分字段与初始化所有字段时sql的不同点体现在哪里?

    初始化所有字段,不需要写字段名

    3. 赋值时,对于varchar类型的字段,赋的值必须用什么符号括起来?

    英文状态下的单引号''

    4. 字段声明了长度,赋值的时候应该注意什么?

    插入数据的长度必须小于等于声明的长度

    5. 声明为主键的值可以重复吗?

    不可以

    6. 不插入必填字段(not null字段),插入语句能否执行成功?

    不能执行成功的

    7. 插入一条数据和多条数据的语法区别是?多条数据时,中间以什么符号做分隔?

    插入多条数据,多个括号括起来,以逗号作分隔

    8. 如果表需要支持中文数据存储和显示,需要怎么做?

    设置DEFAULT CHARSER=utf8;

       

  • 相关阅读:
    Proj THUDBFuzz Paper Reading: The Art, Science, and Engineering of Fuzzing: A Survey
    Proj THUDBFuzz Paper Reading: A systematic review of fuzzing based on machine learning techniques
    9.3 付费代理的使用
    11.1 Charles 的使用
    第十一章 APP 的爬取
    10.2 Cookies 池的搭建
    10.1 模拟登录并爬取 GitHub
    11.5 Appium 爬取微信朋友圈
    11.4 Appium 的基本使用
    11.3 mitmdump 爬取 “得到” App 电子书信息
  • 原文地址:https://www.cnblogs.com/relustarry/p/12390195.html
Copyright © 2011-2022 走看看