MySQL基础操作

《MySQL数据库入门实战精讲》学习笔记(一)

SQL是Structured Query Language的缩写,即结构化查询语言。SQL是一门标准的计算机语言,用于访问和操作数据库,其主能包括数据定义、数据操纵、数据查询和数据控制。

按照功能用途,可以将SQL语言分为4类:DDL、DML、DQL和DCL。

  • DDL (Data Definition Language)数据定义语言
    用于数据库、表、视图等的建立、删除。例如CREATE、ALTER、DROP等。
  • DML (Data Manipulation Language)数据操作语言 用于添加、删除和修改数据表中的记录 例如INSERT、DELETE、UPDATE等。
  • DCL ( Data Control Language)数据控制语言 用于数据库对象的权限管理和事务管理 例如COMMIT、ROLLBACK、GRANT等。
  • DQL ( Data Query Language)数据查询语言 用于数据查询,是基本功能 例如SELECT

MySQL数据类型:

类型字节数说明
tinyint1比smallint小
smallint2比mediumint小
mediumint3比int小
int4整数值
bigint8大整数值
float4单精度浮点数值
double8单精度浮点数值
decimalMax(D+,M+)适合于财务和货币计算
date3YYYY-MM-DD
time3HH:MM:SS
year1YYYY
datetime8YYYY-MM-DD HH:MM:SS
timestamp8YYYYMMDDHHMMSS
char0-255定长字段串
varchar0-2^16-1变长字符串
text0-2^16-1文本数据
mediumtext0-2^24-1中长文本数据
longtext0-2^32-1长文本数据
blob二进制形式的文本数据

数据库基本操作语句(不区分大小写):

查看数据库

SHOW DATABASES

使用数据库

USE 数据库名

创建数据库

CREATE DATABASE 数据库名

删除数据库

DROP DATABASE 数据库名

创建数据表([]内容可省略)

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] table_name 
[(create_definition,…)]
[table_options][select_statement]

说明:

TEMPORARY:创建临时表,在当前会话结束后将自动消失

IF NOT EXISTS:只有该表不存在时才创建

create_definition:用于定义表中各列的属性

table_options:表的配置选项,例如:表的默认存储引擎、字符集

select_statement:通过select语句建表

CREATE TABLE users(
    id         INT UNSIGNED  AUTO_INCREMENT KEY,
    login_name VARCHAR(64) NULL UNIQUE,
    pwd        TEXT        NOT NULL
     )ENGINE=INNODB DEFAULT CHARSET=UTF8;
数据约束
  • 唯一性约束
    在MySQL中,可以使用关键字 UNIQUE 实现字段的唯一性约束,从而保证实体的完整性。
    UNIQUE 意味着任何两条数据的同一个字段不能有相同值。
 #在创建表时添加唯一性约束
create table person(
    id int not null auto_increment primary key comment '主键id',
    name varchar(30) comment '姓名',
    id_number varchar(18) unique comment '身份证号'
);
  • 外键约束 外键(FOREIGN KEY)约束定义了表之间的一致性关系,用于强制参照完整性。
    外键约束定义了对同一个表或其他表的列的引用,这些列具有PRIMARY KEY或UNIQUE约束。
#学生表
create table stu(
    stu_no int not null primary key comment '学号',
    stu_name varchar(30) comment '姓名'
);
#成绩表
create table sc(
    id int not null auto_increment primary key comment '主键id',
    stu_no int not null comment '学号',
    course varchar(30) comment '课程',
    grade int comment '成绩',
    foreign key(stu_no) references stu(stu_no)
);

查看数据表

DESC TABLE;

修改数据表

添加字段sex,类型为tinyint
ALTER TABLE users ADD sex tinyint;
修改字段sex的类型为varchar(1)
ALTER TABLE users MODIFY sex varchar(1);
删除字段sex
ALTER TABLE users DROP COLUMN sex;
删除contacts表
DROP TABLE users;

插入数据

INSERT 插入一条数据:

INSERT INTO table_name (field1, field2, ..., fieldN) 
VALUES (value1, value2, ..., valueN);

INSERT 插入多条数据:

INSERT INTO table_name (field1, field2, ..., fieldN) 
VALUES 
(valueA1, valueA2, ..., valueAN),
(valueB1, valueB2, ..., valueBN),,
(valueN1, valueN2, ..., valueNN);

说明:

  • 如果字段是字符型,值必须使用单引号或者双引号,如”value”;
  • 如果值本身带单引号或双引号,需要转义。
    如’moneky\‘s banana’

修改数据

UPDATE table_name SET 
field1=newValue1, field2=newValue2 [WHERE Clause]

说明:

  • 可以通过where子句来指定更新的范围,如果不带where,则更新数据表中的所有记录

删除数据

DELETE FROM table_name [WHERE Clause]//会写入日志
TRUNCATE TABLE 表格名;//不写入日志
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

椰子zii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值