美文网首页mysql 知识库数据库MySQL
数据库微课(持续更新)

数据库微课(持续更新)

作者: 秋波未央 | 来源:发表于2019-12-11 21:04 被阅读0次

    第一节.数据库基本简介

    什么是库?

    库是用来存放n张表

    什么是表?

    在数据库中,表(table)类似于excel,可以用来存放数据

    字段:类似于excel中的表头

    数据类型:字符串(varchar),整数(tinyint,int,bigint),小数(float),日期(Data)

    什么是数据?

    文本,视频,图片,音频等


    第二节.创建数据库

    语法规则:

    create database 库名;

    删除指定数据库:drop database 库名

    在创建库时,希望指定编码语法:create database 库名 character set 编码名


    第三节.表的创建及其信息的录入

    创建表语法:

    CREATE TABLE 表名(

        字段1 数据类型,

        字段2 数据类型,

        ....

    )

    由于先有库(database),然后在库中创建表(table)

    选中某一个数据库:use 库名;

    创建例子:

    CREATE TABLE Java成绩表(

      姓名 VARCHAR(20),

      班级 VARCHAR(20),

      Java成绩 FLOAT

    )

    删除指定表格语法:drop table 表名;

    DROP TABLE java成绩表;

    -往表中添加,删除,修改,查询数据(CRUD)-

    往指定的表中添加数据:insert into 表名(字段1,字段2....)value(值1,值2....)

    INSERT INTO java成绩表(姓名,班级,java成绩) VALUES('王二麻子','dt55',90.5);

    INSERT INTO java成绩表(姓名) VALUES('王五');

    注意:在插入时,可以省略表后面的字段名,但前提是values关键字后面的字段值数量必须与表字段数一致

    INSERT INTO java成绩表 VALUES('王二麻子','dt55',90.5);

    插入数据的第二种语法:insert into 表名 set 字段名1=字段值1,字段名2=字段值2...

    如果“=”是放在set关键字后面,则是“赋值运算符”

    INSERT INTO java成绩表 SET 姓名='李四';

    同时插入多条数据

    INSERT INTO java成绩表(姓名,班级,java成绩)

    VALUES('abc','dt55',90.5),('def','dt55',90.5),('fgh','dt55',90.5);

    删除数据语法:delete from 表名 where 条件

    如果“=”放在where关键字后面,则是“关系运算符”

    DELETE FROM java成绩表 WHERE 姓名='李四';


    第四节.运算符

    1.关系运算符

    在mysql中常用的关系运算符有:=(等于),>(大于),>=(大于等于),<(小于),<=(小于等于),!=(不等于)

    在mysql中关系运算符放在where之后

    查询语法规则:select 字段1,字段2...from 表名 [where 条件]

    例:

    查询某一张表中的所有数据记录

    SELECT 姓名,班级,java成绩 FROM java成绩表;

    SELECT 姓名 FROM java成绩表;

    SELECT * FROM java成绩表;

    注:"*"代表查询某一张表的所有字段

    查看java成绩表中java成绩>=60的所有学生的名字

    SELECT 姓名 AS 名字 FROM java成绩表 WHERE java成绩>=60;

    在查询数据的时候,可以通过as来给某一个字段取别名

    SELECT 姓名 as username FROM java成绩表  WHERE java成绩>=60;

    2.逻辑运算符

    在mysql中常见的逻辑运算符有:与(and),或(or),非(not)

    查询java成绩表中班级为b班且java成绩>70的学生姓名

    SELECT 姓名 FROM java成绩表 WHERE 班级=’b’ java成绩>70;

    作业:

    1.创建一个库,在库下创建一张student表

    (1)students表中的字段有:id(int类型),stuName(varchar类型),weight(体重,float类型)。

    (2)往students表中同时插入3条数据。

    (3)查询students表中的信息,为每个字段取一个别名:id(主键),stuName(学生名字),weight(体重),age(年龄)。

    注:作业做完可以联系本作者,可免费检查正确与否。


    第五节.对表数据的增(insert)

    删(delete)改(update)查(select)

    修改语法:update 表名 set 字段名1=值1,字段名2=值2....where 条件

    例:

    UPDATE students SET stuName='司马平波',age=18 WHERE id=1;

    全改

    UPDATE students SET age=25 WHERE 1=1;

    删除students表中的所有数据(找不回来的,谨慎使用)

    DELETE FROM students WHERE 1=1;

    对sql语句进行分类

    数据库查询语言:DQL(database QUERY Language)  对表的查询,select

    数据库定义语言:DDL(database defined Language)  create

    database,drop database,create table,drop

    table等

    数据库操作语言:DML(database manage Language)  update

    insert,delete

    DDL之操作数据库:

    添加数据库:create database 库名【character set utf8/gbk】

    删除指定数据库:drop database 库名

    查询指定库的详细信息:

    (1)SHOW CREATE DATABASE 库名;查看某一个数据库详细信息。

    (2)SHOW DATABASES:查看mysql服务器下所有库。

    (3)查看:

    当前用户连接的是哪个数据库:select DATABASE();

    (4)查看指定的数据库下有哪些表:show TABLES;

    练习:创建一个库,在库下创建一张表(bank)

    字段要求:

    id(编号) int,bankNo(卡号) varchar,username() varchar,money(余额) float


    第六节.DDL之对表的增删改查

    创建一张表

    CREATE TABLE 表名(字段名1 数据类型,..........);

    删除表:drop table 表名;

    查询:

    (1),查询某一张表的结构:

    desc 表名

    例:

    DESC bank;

    (2),打印某一张表sql创建信息:show CREATE TABLE 表名;

    例:

    SHOW CREATE TABLE bank

    修改表:

    (1),对已经存的表进行重命名:rename TABLE 旧表名 TO 新表名;

    例:

    RENAME TABLE yinghang TO bank;

    SELECT * FROM yinghang;

    (2),往已经存在的表中添加字段信息:alter TABLE 表名 ADD 字段名 数据类型;

    例:

    ALTER TABLE bank ADD gender VARCHAR(2);

    (3),删除某一张表中的字段:

    alter TABLE 表名 DROP 被删除的字段名;

    例:

    ALTER TABLE bank DROP gender;

    (4),对某一字段进行重命名:

    alter TABLE 表名 CHANGE 旧字段名 新字段名 新字段名数据类型

    例:

    ALTER TABLE bank CHANGE aaa username VARCHAR(20);

    (5),修改某一个字段数据类型长度:ALTER TABLE bank CHANGE bankNo

    bankNo VARCHAR(25);

    往bank表中添加一个字段birthday

    ALTER TABLE bank ADD birthday DATE;

    date类型只有年月日

    UPDATE bank SET birthday=

    '2000-2-28'WHERE id=1;

    ALTER TABLE bank CHANGE birthday

    birthday DATETIME;

    datetime:年月日时分秒


    第七节.对某一个数据库的备份与还原

    第一种:

    通过命令mysqldump -uroot -p密码

    需要备份的数据库名>c:\备份后的sql脚本名;

    例:

    cmd--->mysqldump -uroot -proot dt55_account>c:\dt55_account_back.sql

    还原备份的文件数据:

    首先进入到mysql环境--->创建一个库---->在库下还原数据

    ------>source 备份数据库的脚本

    source c:\dt55_account_back.sql

    第二种通过图形化界面工具:选中需要备份的数据库---->右键--->备份/导出----转储到sql


    训练

    创建出版社信息表

    数据库微课(持续更新)

    补充内容:

    数据类型的属性

    mysql中常见的数据类型:varchar(n),float,int(n),bigint(n),date,datetime,text

    默认值:default '默认值'

    非空:not null

    自动增长:auto_increment,尽量作用在int类型的字段上

    主键:primary key,不能够重复,一张表中只有一个字段可以作为主键

    唯一键:unique

    两种删除方式的区别:

    DELETE FROM students WHERE 1=1;

    适用于只删除单条数据,删除数据后,自增列不会从1开始

    TRUNCATE TABLE students;

    删除整个表的数据,如果字段是自增的,则重新从1开始

    相关文章

      网友评论

        本文标题:数据库微课(持续更新)

        本文链接:https://www.haomeiwen.com/subject/fmvagctx.html