mysql 知识库数据库MySQL

数据库微课(持续更新)

2019-12-11  本文已影响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开始

上一篇下一篇

猜你喜欢

热点阅读