数据库学习笔记-03-01(MySQL )

20 阅读3分钟

mysql语法基础:

1 | 创建并使用数据库

  • 了解什么是SQL
  • 了解数据定义语句(DDL)和数据管理语句(DML)
  • 掌握建库建表语句
  • 掌握数据的增删改查语句

1-1、数据定义语言 DDL:

操作对象:表/数据库

1)作用:

  1. 在数据库中创建、修改、删除表/数据库
  2. 为表加入索引(主键,外键、索引)

2)SQL关键字:

  • CREATE
  • ALTER
  • DROP

1-2、数据管理语言 DML

操作对象:数据

1)作用: 在数据库中对数据进行增删改操作

2)SQL关键字:

  • INSERT
  • SELECT
  • UPDATE
  • DELETE

1-3、数据库的创建和使用

创建数据库
CREATE DATABASE `mydatabase`;

切换数据库
-- 切换数据库
USE `mydatabase`;

查看已有的数据库名称
SHOW DATABASES;

2 | 创建及修改表

创建表
建表语句
CREATE TABLE `my_user`(
	`id` INT NOT NULL,
	`name` VARCHAR(200) NOT NULL
)

常见字段类型
int  float  decimal char  varchar  datetime
修改表语句
新增列
ALTER TABLE `my_user` ADD
删除列
ALTER TABLE `my_user` DROP
修改列
ALTER TABLE `my_user` CHANGE COLUMN
-- 将age列换成password
ALTER TABLE `my_user` CHANGE COLUMN `age` `password` VARCHAR(255);
-- ALTER TABLE `my_user` ADD `age` INT;
-- ALTER TABLE `my_user` ADD `password` VARCHAR(255);
-- 删除列password
-- ALTER TABLE `my_user` DROP `password`;

image.png

image.png

** 索引

索引作用: 提高MySQL的检索速度

索引的分类:

  • 普通索引
  • 唯一索引
  • 主键索引
  • 外键关联索引
创建索引语法:
CREATE INDEX index_name ON table_name(column_name)
-- 使用:
-- 创建索引
CREATE INDEX my_index_name ON `my_user`(`name`);
-- 添加主键、自动递增
CREATE TABLE `my_user_2`(
	`id` INT NOT NULL AUTO_INCREMENT,
	`name` VARCHAR(200) UNIQUE NOT NULL,
	PRIMARY KEY (`id`)
)

3 | 插入与查询语句

数据管理语言 (DML)

作用:在数据库中对数据进行增删改查操作

SQL关键字

  • INSERT 新增(Create)
  • SELECT 查询(Read)
  • UPDATE 修改(Update)
  • DELETE 删除(Delete)
插入语句
INSERT INTO  table_references VALUE(S)...
-- 插入1条数据
-- INSERT INTO account_user VALUES(2, 'lisi', '123456', 24, '女', '1990-10-01');
-- 插入多条数据
INSERT INTO account_user VALUES(3, 'lisi3', '123456', 24, '女', '1990-10-01'),
(4, 'lisi4', '123456', 24, '女', '1990-10-01'),
(5, 'lisi5', '123456', 24, '女', '1990-10-01');
查询语句
SELECT
  select_expr, ...
FROM table_references
[WHERE where_definition]
[GROUP BY {col_name | expr | position}]
[HAVING where_definition]
[ORDER BY {col_name | expr | position} [ASC | DESC], ...]
[LIMIT {[offset,] row_count}]

使用
-- 查询表中的所有的数据
SELECT username, `password` FROM account_user WHERE username='lisi4';
SELECT * FROM account_user;

4 | 修改和删除数据

4-1 修改/更新数据

修改语句
语法:
UPDATE table_references
	SET col_name1 = expr1 [, col_name2=expr2 ...]
[WHERE where_definition]

使用示例:
-- 修改语句:把所有的用户年龄修改为30UPDATE `account_user` SET age=30;
-- 把所有的用户年龄修改为31岁,性别女性
UPDATE `account_user` SET age=31, `sex`='女';
-- 修改某一条数据
UPDATE `account_user` SET age=20, `sex`='男' WHERE `username`='lisi';

删除数据

删除语句
语法:
DELETE FROM tbl_name
[WHERE where_definition]

使用示例:
-- 删除lisi3
DELETE FROM `account_user` WHERE `username`='lisi3';
-- 删除所有的数据(谨慎!!危险操作!!!)
DELETE FROM `account_user`;
  1. 逻辑删除:标记性的删除
  2. 物理删除:从数据库里真实的删除。DELETE FROM account_user;
-- 逻辑删除
UPDATE `account_user` SET `is_valid`=0 WHERE `id`=4;