2407-mysql笔记

数据库(Database),简称db
mariadb=mysql

常见的数据库:mysql、oracle、高斯(Gauss)、redis、sqlserver、SQLite、HBase

一、SQL(Structured Query Language):结构化查询语言

1、作用:用于访问和处理数据库的标准计算机语言

2、语法特点:

(1)SQL对关键字的大小不敏感(针对windows)

(2)SQL语句可以单行或者多行书写,每行以分号结束

(3)SQL注释

3、mysql基本操作-ddl

(1)对数据库的基本操作

功能SQL
show databases;查看所有的数据库
create database [if not exists] mydb1 [charset=utf8];创建数据库
use mydb1;切换库
select database();显示当前所在库
drop database [if exists] mydb1;删除数据库

(2)对数据库的常用操作-创建表

创建表格式:

create table [if not exists] 表名 (
	字段名1 类型[(宽度)] [约束条件] [comment '字段说明'],
	字段名2 类型[(宽度)] [约束条件] [comment '字段说明'],
	字段名3 类型[(宽度)] [约束条件] [comment '字段说明']
) [表的一些设置];
create table emp(
	eid int(1) comment '员工编号',
	ename varchar(1) comment '员工姓名'
);

insert into emp values 
(-2147483648,'A'),
(21333,'B');

select * from emp;

注:
(1)常见的数据类型有:
①数值类型

类型大小用途
tinyint1byte小整数值
int或integer4byte大整数值
double8byte浮点数值

tinyint范围:[0,255]
int范围:[-2147483648,2147383647]

②日期和时间类型

类型格式用途
dateYYYY-MM-DD日期值
datetimestampYYYY-MM-DD HH:MM:SS混合日期和时间值
timestampYYYYMMDDHHMMSS混合日期和时间值,时间戳

③字符串类型’
char-定长
varchar-变长
如果是字符串类型,会有宽度的限制,宽度填多少就代表字符串有多长

如果是数值类型,比如INT(1),1不代表数据的长度,如果插入了大于显示宽度的值,只要该值不超过该类型的取值范围,数值依然显示出来

(3)对表结构的常用操作

sql功能
show tables查看当前库有哪些表
show create table emp;查看指定某个表的创建语句
desc 表名;查看表结构
drop table 表名;删除表
show tables;

show create table emp;

desc emp;

drop table emp;

4、mysql数据库基本操作-dml

DML是指数据操作语言,Data Mainpulation Language,用于对数据库表中记录进行更新、删除、插入等操作
关键字:
insert-插入
delete-删除
update-更新

(1)数据插入

语法格式:
#向表中指定某些列插入数据
insert into 表名 (列名1,列名2,列名3...)
values (1,2,3...);

#向表中所有列插入数据
insert into 表名 values (1,2,3...);
#向student表中sid name gender age birth 字段添加数据
insert into student
(sid,name,gender,age,birth)
values
(1001,'张三','男',20,'1994-12-01');

#向student表中所有字段添加数据
insert into student
values 
(1002,'赵敏','女',18,'1995-12-03','上海');

#向student表中所有字段添加多行数据
insert into student
VALUES
(1003,'张三丰11','男',88,'1918-08-13','北京'),
(1004,'张三丰111','男',36,'1983-7-11','北京');

注:以上两种格式均可,SQL语句以分号结尾,可以在一条insert语句中同时插入多个列表值,values只需要写一次,括号之间用逗号隔开

(2)数据修改

语法格式:
update 表名 set 字段名 =,字段名 =...;

update 表名 set 字段名 =,字段名 =... where 条件;
#将所有学生的地址修改为重庆
update student set address = '重庆';

#将sid为1004的学生地址修改为北京
update student set address = '北京' where sid = 1004;

#将sid为1004的学生地址修改为beijing并且性别修改为男
update student 
set address = 'beijing',gender = '男'
where sid = 1004;

(3)数据删除

语法格式:
delete from 表名 [where 条件];

truncate table 表名
或者
truncate 表名
#删除sid为1004的学生数据
delete from student where sid = 1004;

#删除表所有数据
delete from student;

#再添加两条数据
insert into student
values 
(1003,'张三丰11','男',88,'1918-08-13','北京'),
(1004,'张无忌1','男',36,'1983-07-11','北京');

#清空表数据
truncate student;

注:delete和truncate原理不同,delete只删除内容,而truncate类似drop table再create table,可以理解将整个表删除,然后再创建该表

5、mysql约束

何为约束,constraint,约束实际上就是表中数据的限制条件
作用:为了保证表中记录的完整性和有效性,比如用户表的手机号不能为空,身份证号不能重复

分类:
(1)主键约束(primary key) PK
(2)自增长约束(auto_increment)
(3)非空约束(not null)
(4)唯一性约束(unique)
(5)默认约束(default)
(6)零填充约束(zerofill)
(7)外键约束(foregin key)FK

(1)主键约束

可以加到某个列上,也可以加到多个列上

①概念:

a.主键约束相当于唯一约束和非空约束的组合,即主键约束的列不允许重复,也不允许出现空值
b.每个表最多允许一个主键

②添加单列主键

a.在定义字段的同时指定主键

语法格式:
create table 表名(
	...
	<字段名> <数据类型> primary key,
	...
)
INSERT INTO emp1
(name,dept_id,salary)
VALUES
('张三',8801,3600);
#Field 'eid' doesn't have a default value
#设置了主键,该字段必须要给值

insert into emp1 
values 
(60051,'张三丰',5003,5000)

b.在定义完字段之后指定主键

语法格式:
create table 表名(
	...
	[constraint <约束名>] primary key(字段名)
);
create table emp2(
	eid int comment '编号',
  name varchar(20) comment '姓名',
	dept_id int comment '部门编号',
	salary double comment '工资',
	constraint pk1 primary key(eid)
);
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
CSDN是一个技术交流平台,里面有许多关于各种编程语言和数据库的学习资料和笔记。而MySQL是其中一种常用的关系型数据库管理系统,也是开放源代码软件之一。 在CSND上,MySQL笔记是指关于MySQL数据库的学习和使用的笔记和教程。这些笔记包含了MySQL数据库的基本概念、安装配置、SQL语句的使用、数据表的设计和管理、索引使用、数据备份和恢复等方面的知识。学习MySQL笔记可以帮助开发者更好地理解和应用MySQL数据库MySQL笔记主要可以分为以下几个方面来介绍和学习: 1. 数据库基础知识:学习数据库的基本概念和原理,了解关系型数据库的特点以及MySQL的特点。 2. 安装和配置:学习如何在不同操作系统上安装和配置MySQL数据库,包括设置用户名、密码和端口等。 3. SQL语句的使用:学习SQL语句的基本语法和常用命令,包括查询、插入、更新、删除等操作。 4. 数据表的设计和管理:学习如何设计和创建数据表,包括选择适当的数据类型、设置主键和外键等。 5. 索引的使用:学习如何创建和使用索引来提高查询效率和数据访问速度。 6. 数据备份和恢复:学习如何进行MySQL数据库的数据备份和恢复,包括全量备份和增量备份等。 通过学习MySQL笔记,开发者可以掌握MySQL数据库的基本操作和高级功能,提高数据管理和查询的效率。此外,还可以了解MySQL数据库的优化技巧和性能调优方法,提升数据库的性能和稳定性。 总之,通过CSDN上的MySQL笔记,开发者可以系统地学习和掌握MySQL数据库的相关知识,从而更好地应用于实际的项目开发中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值