数据库MySQL快速入门、MySQL编程快速上手(CRUD)

数据库MySQL快速入门、总结(CRUD)


1、数据定义语言(DDL Data Definition Language)

-- DDL即进行数据库和表结构的增、删、改
-- 创数据库(db1、db2)
CREATE DATABASE db1;
CREATE DATABASE IF NOT EXISTS db2;

-- 删除数据库
DROP DATABASE db2;
DROP DATABASE IF EXISTS db2;

-- 查看数据库字符集
SHOW CREATE DATABASE db1;

-- 修改数据库字符集(utf8或gbk)
ALTER DATABASE db1 CHARACTER SET gbk;
ALTER DATABASE db1 CHARACTER SET utf8;

-- 使用数据库
USE db1;

-- 查看正在使用的数据库
SELECT DATABASE();
	
-- 查询数据库和查询表	
SHOW DATABASES;
SHOW TABLES;


-- 创建表(tb1、tb2)
-- 表tb1
CREATE TABLE tb1(
	id INT PRIMARY KEY AUTO_INCREMENT,
	username VARCHAR(16),
	PASSWORD VARCHAR(16)
);
-- 表tb2
CREATE TABLE IF NOT EXISTS tb2(
	id INT PRIMARY KEY,
	username VARCHAR(16),
	PASSWORD VARCHAR(16)
);

-- 删除表
DROP TABLE tb1;
DROP TABLE IF EXISTS tb1;

-- 查看表结构
DESC tb1;

-- 修改表
-- 修改表名
ALTER TABLE tb1 RENAME TO new_tb1;
-- 修改表字符集
ALTER TABLE tb1 CHARACTER SET utf8;
ALTER TABLE tb1 CHARACTER SET gbk;
-- 增加列
ALTER TABLE tb1 ADD time1 DATE;
-- 删除列
ALTER TABLE tb1 DROP time1;
-- 修改列
ALTER TABLE tb1 CHANGE time1 new_time1 INT;
-- 修改列数据类型
ALTER TABLE tb1 MODIFY new_time1 DATE;

2、数据操作语言(DML Data Mainpulation Language)

-- DML即进行表数据的增、删、改
-- 创建新的tb1表为前提下,进行表数据的增、删、改
CREATE TABLE tb1(
	INT id PRIMARY KEY AUTO_INCREMENT,
	username VARCHAR(16),
	PASSWORD VARCHAR(16),
	time1 DATE;
);

-- 插入数据
INSERT INTO tb1(id,username,PASSWORD,time1)VALUES(1,'zhangsan','123',NOW());
INSERT INTO tb1(id,username,PASSWORD,time1)VALUES(2,'lisi','123','2021-06-05');
INSERT INTO tb1 VALUES(3,'wangwu','123','2021-06-06');

-- 删除数据
DELETE FROM tb1 WHERE id=3;
DELETE FROM tb1 WHERE PASSWORD='123';

-- 修改数据
UPDATE tb1 SET PASSWORD='666' WHERE username='zhangsan';
UPDATE tb1 SET PASSWORD='666' WHERE id=2;

3、数据查询语言(DQL Data Query Language)

-- DQL即数据库表数据的查询
-- 在tb1表有数据的前提下,与DML终的表结构一样
-- 查询表中所有数据
SELECT * FROM tb1;

-- 仅查询用户名、密码
SELECT username,PASSWORD FROM tb1;
SELECT username 用户名,PASSWORD 密码 FROM tb1;

-- 条件查询
SELECT * FROM tb1 WHERE PASSWORD='123';
SELECT * FROM tb1 WHERE id IN(1,2);
SELECT * FROM tb1 WHERE id BETWEEN 1 AND 3;

-- 条件查询
-- '%a%'为通配符字符串,_表示一个任意字符,%表示多个任意字符
SELECT * FROM tb1 WHERE username LIKE '%a%';

-- 条件查询
SELECT * FROM tb1 ORDER BY id ASC; -- id升序
SELECT * FROM tb1 ORDER BY id DESC; -- id降序

-- 聚合函数count()、max()、min()、sum()、avg()、ifnull(列名,值)用法与如下相似
-- 统计数据个数
SELECT COUNT(id) FROM tb1;

-- 分组查询
-- 按日期分组,查询日期数据相同的个数,要求日期相同的人数要大于1
SELECT COUNT(id),username,PASSWORD FROM tb1 GROUP BY time1 HAVING COUNT(id)>1;
-- where为前限定,having为后限定,但不能同时用
SELECT * FROM WHERE id>1 HAVING PASSWORD='456'; -- 错误语法

-- 分页查询
SELECT * FROM tb1 LIMIT 0,3;-- 查询第1、2、3条数据
SELECT * FROM tb1 LIMIT 3,6;-- 查询第4、5、6条数据

4、数据控制语言(DCL Data Control Language)

-- DCL即数据库权限管理和用户管理
-- 进入数据库管理
USE mysql;

-- 查询数据库用户
SELECT * FROM USER;

-- 插入数据用户
-- CREATE USER '用户名'@'主机名' IDENTIFIED BY '密码';
CREATE USER 'zhangsan'@'localhost' IDENTIFIED BY '12345';
FLUSH PRIVILEGES;-- 刷新,以方便后面数据得以修改

-- 删除用户
-- drop user '用户名'@'主机名';
DROP USER 'zhangsan'@'localhost';

-- 修改密码
UPDATE USER SET PASSWORD=PASSWORD('123e') WHERE USER='zhangsan';-- 方法一
SET PASSWORD FOR 'zhangsan'@'localhose'=PASSWORD('12345');-- 方法二

-- 查询权限
-- show grants for '用户名'@‘主机名’;

-- 授予权限
-- grant 权限列表 on 数据库名称.表名 to '用户名'@‘主机名’;

-- 撤销权限
-- revoke 权限列表 on 数据库名称.表名 from '用户名'@‘主机名’;

最后,我的复习-总结-希望可以帮助到大家!谢谢!
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值