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;

       

  • 相关阅读:
    安装CentOS--设置网络_2
    VMware虚拟机中涉及的3种常见网络模式
    Java_静态变量
    安装CentOS--设置网络_1
    队列的基本操作-队列的链式存储结构(带图详细)
    单链表的基本操作-单链表的创建、插入、删除结点等
    Linux下设置mysql不区分大小写
    python课后练习当前目录下有一个文件名为score3.txt的文本文件, 存放着某班学生的学号和其两门专业课的成绩。
    实现斐波那契数列算法-递归和非递归
    算法之除去递增有序单向链表中的重复元素
  • 原文地址:https://www.cnblogs.com/relustarry/p/12390195.html
Copyright © 2011-2022 走看看