1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > mysql数据库基本知识点整理笔记

mysql数据库基本知识点整理笔记

时间:2021-04-04 18:31:39

相关推荐

mysql数据库基本知识点整理笔记

学习目标:

SQL的基本分类MYSQL数据库中的数据类型DDL表的相关操作DML表中数据的增删改

学习内容:

数据库系统的结构

1. 一个DBMS(数据库系统)中 可以有多个数据库(database)

2. 一个数据库(database)中 可以有多个表(table)

3. 一个表中 可以有多条数据 多个字段(列)

比如说,把一个数据库比化成一个excel文件,一个excel文件中可以有多个表,一个单独的表中我们可以列多行数据。

1,SQL基本分类

1)DDL 数据定义语言

对数据库的创建和删除 以及对数据库表的创建删除和修改 关键字:create、drop

2)DML 数据操作语言:

对数据库表中数据的增 删 改 关键字:insert、delete、update

3)DQL 数据查询语言:

对数据库表中数据 查询 关键字:select

4)DCL 数据控制语言:

指定用户 分配权限 关键字:grant、revoke

2,MYSQL数据库中的数据类型

1)整形

tinyint / smallint / int / bigint byte(-128 127) short int long

2)浮点型

float(n,m) double(n,m) decimal(n,m) 准确值 n和m可以省略

n:整数位+小数位的个数

m:小数位的个数

例如:decimal(6,2) 总共能存6位数字,末尾2位是小数,字段最大值 9999.99

3)字符型,

实际开发中,varchar相对比较多

varchar(n)变长字符串 n必选 保存字符最大个数 性能低

例如: 定义姓名数据类型varchar(10), 可以存储的姓名对应的字符个数0-10, 10表示最多可以存储的字符个数, 实际客户姓名叫 AB, 在数据库中存储占有的空间就是2, 不是10

char(n)定长字符串 n可选 默认为1 保存字符最大个数 性能高

例如: 定义姓名数据类型char(10), 可以存储的姓名对应的字符个数0-10, 10表示最多可以存储的字符个数, 实际客户姓名叫 AB, 在数据库中存储占有的空间还是10, 不是10

4)日期

data 日期 年月日

time 时分秒

datetime 日期 年月日时分秒,默认值为null,最大值到9999年23:59:59

timestamp时间戳 1970开始 2037年12月31日 23:59:59, 默认值为当前系统时间

mysql中没有boolean类型、通常我们会使用int类型来表示boolean类型 0:false 1:true

3,DDL表的相关操作

Data Definition Language数据定义语言

关键字:create 创建 drop 删除 alter 修改 show 展示 databese 数据库

一,库的基本操作

1,查看所有数据库

show database

2,创建数据库

#语法一:create database 数据库名create database day01;#语法二:create database if not exists 数据库名(如果不存在此数据库再创建)

3,删除数据库

#语法:drop database 数据库名;drop database day01;

4,选中数据库

#语法:use 数据库名use day01;

选中数据库,数据库系统中一般会有多个数据,我们对数据库操作时,不需要写数据库名,但我们要保证我们操作的数据库是哪一个数据库,此时我们用选中数据库来决定我们的操作是对选中的数据库有效,当我们选中数据库时,数据库名称会变粗,例如:

5,查看创建数据库语句

#语句:show create database 数据库名show create database day01;#除此之外我们根据需求,修改show后面的语句来查看其他语句的创建或修改语句

二,表的操作

关键字:show 展示 create 创建 table 表 drop 删除

1,查看所有表

show table;

2,创建表

#语法 create table 表名(字段1 字段类型,字段2 字段类型,...字段n 字段类型);create table student( #创建学生表sid int, #id号sname varchar(20), #姓名ssex char(2) #性别);#我们可以在table 后面加上if not exists 表示如果没有此表,再创建

3,删除表

#语法 drop table 表名drop table student;

4,查看表结构

#语法 desc 表名desc student;

5,查看创建表语句

#语句 show create table 表名show create table student

三,修改表

关键字:alter 修改 add 添加列 drop 删除

rename 表名修改 change 列名及类型修改 modlify 修改列的类型

1,修改表名

#语法 alter table 表名 rename 新表名alter table student rename stu;

2,修改列名

#语法 alter table 表名 change 原列名 新列名 列的类型alter table student change sname name varchar(20);

3,修改列的类型

#语法 alter table 表名 modify 原列名 新类型;alter table student modify sname char(10);

4,添加列

#语法:alter table 表名 add 新列名 类型alter table student add sclass varchar(20);

5,删除列

#语法:alter table 表名 drop 列名alter table student drop sclass;

modify与change区别

1、modify关键字只能修改列的类型、change关键字既可以修改列的类型也可以修改列的名称

4,DML表中数据的增删改

Data Manipulation Language数据操作语言

一,插入字段(新增数据)

1,不指定字段插入

#语法 插入单个表(表中字段对应值)insert into 表名 values (值1,值2,值3,值4) 默认情况下需要给所有的列赋值insert into student values (1,"kenken","男");

注意事项:

1、有多少列对应就应该有多少值

2、如果插入的是数值直接给值、除数值以外用双引号|单引号都可以

2,指定字段插入

#语法:insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3)insert into student (sid,sname,ssex) values (1,"kenken","男");#在指定字段添加数据时,可以添加部分数据#例如:insert into 表名 (列名2,列名3) values (值2,值3)insert into student (sname,ssex) values ("kenken","男");

注意事项:

1、声明的列和值要一一对应

2、如果插入的是数值直接给值、除数值以外用双引号|单引号都可以

3,字段插入部分值第二种方式

#语法:insert into 表名 set 列名=值insert into student set sname="kenken"; #只添加一个值insert into student set id=2,sname="maimai"; #只添加两个值

注意事项:

1、列和值要一一对应

2、如果插入的是数值直接给值、除数值以外用双引号|单引号都可以

4,批量插入

#语法:insert into 表名 (列1,列2,列3) values (值1,值2,值3),(值1,值2,值3);insert into student (sid,sname,ssex)values (1,"kenken","男"),(2,"maimai","nv");

注意:

1. 整型、浮点型 不需要加引号 ,字符型和日期类型 需要加引号

2. 插入的值必须满足类型和约束

3. 值和列名一一对应

4. 如果约束:(对当前列进行限制保证当前列数据的有效性和准确性)是 null 和 default 可以不插入

二,删除字段

1,删除单个字段

#语法 delete from 表名 [where 条件]delete from student where sid=1; #删除sid为1的字段

2,删除多个字段

#语法:delete from 表名 [where 条件]delete from student where sid in(1,2); #删除sid为1,2的字段#可以根据需求在in后面的括号里添加要删除的字段#或者delete from student where sid=1,sname="maimai";

3,删除所有

#语法delete from 表名truncate table 表名

注意事项:

delete删除和truncate删除的区别

方式上:delete删除是逐行删除、truncate是删除整张表、然后再创建一张一模一样的表结构

效率上:truncate删除效率要高于delete

回滚上:delete删除数据可以回滚(可以找回来)truncate一旦删除数据将无法找回

自增序列上:delete删除会保留原有的自增序列、而truncate不会保留

三,修改

1,修改单个字段数据

#语法:update 表名 set 列1=值1,列2=值2,列3=值3 [where 条件]update student set sname="lala" where sid = 1;#where 后面的条件是要告诉计算机要修改那一条数据,set后面的是列名=新数据

2,修改多个字段数据

#1,不加条件#语法:update 表名 set 列=值; update student set ssex="男";#所有字段的ssex列改为男#2,部分字段修改成同一种值#语法:update 表名 set 列=值 where 条件update student set ssex="男" where sname in("kenken","maimai"); #sname为kenken和maimai的字段ssex值改为男

今天就写这么多吧,剩下的看明天能不能写完。。。。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。