MySql Basic-day01
2021/7/16 2:06:10
本文主要是介绍MySql Basic-day01,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
MySql Basic
- 1.SQL概念
- 2.DDL操作数据库
- 3.DDL操作表结构
- 4.DML操作表结构
- 5.DQL操作表结构
- 6.练习
1.SQL概念
SQL 作⽤:
- 是⼀种所有关系型数据库的查询规范,不同的数据库都⽀持。
- 通⽤的数据库操作语⾔,可以⽤在不同的数据库中。
- 不同的数据库 SQL 语句有⼀些区别 – 称为“⽅⾔”。
SQL 语句分类:
- Data Definition Language (DDL 数据定义语⾔), 如:建库,建表
- Data Manipulation Language(DML 数据操纵语⾔),如:对表中的记录操作增删改
- Data Query Language(DQL 数据查询语⾔),如:对表中的查询操作
- Data Control Language(DCL 数据控制语⾔),如:对⽤户权限的设置
MySQL 的语法:
- 每条语句以分号结尾。
- SQL 中不区分⼤⼩写,关键字中认为⼤写和⼩写是⼀样的
- 三种注释
2.DDL操作数据库
- 创建数据库
CREATE DATABASE 数据库名;
- 判断数据库是否已经存在,不存在则创建数据库
CREATE DATABASE IF NOT EXISTS 数据库名;
- 创建数据库并指定字符集
CREATE DATABASE 数据库名 CHARACTER SET 字符集;
- 查看数据库
show databases;
- 查看某个数据库的定义信息
show create database db3;
- 修改数据库默认的字符集
ALTER DATABASE 数据库名 DEFAULT CHARACTER SET 字符集;
- 删除数据库的语法
DROP DATABASE 数据库名;
- 使⽤/切换数据库
USE 数据库名;
- ⾯试题
在 MySQL 数据库软件中,有test1、test2、test3三个数据库,登录数据库之后,输⼊语句:select database test2; 运⾏结果是什么?
这是⼀条错误的语句,如果要选中⼀个数据库,应⽤使⽤:use test2;
3.DDL操作表结构
- 创建表的格式
CREATE TABLE 表名 ( 字段名 1 字段类型 1, 字段名 2 字段类型 2 );
- 关键字说明
- 常使⽤的数据类型如下
- 详细的数据类型如下
- 查看某个数据库中的所有表
SHOW TABLES;
- 查看表结构
DESC 表名;
- 查看创建表的SQL语句
SHOW CREATE TABLE 表名;
- 快速创建⼀个表结构相同的表
CREATE TABLE 新表名 LIKE 旧表名;
- 直接删除表
DROP TABLE 表名;
- 判断表是否存在,如果存在则删除表
DROP TABLE IF EXISTS 表名;
- 添加表列 ADD
ALTER TABLE 表名 ADD 列名 类型;
- 修改列类型 MODIFY
ALTER TABLE 表名 MODIFY 列名 新的类型;
- 修改列名 CHANGE
ALTER TABLE 表名 CHANGE 旧列名 新列名 类型;
- 删除列 DROP
ALTER TABLE 表名 DROP 列名;
- 修改表名
RENAME TABLE 表名 TO 新表名;
- 修改字符集 character set
ALTER TABLE 表名 character set 字符集;
4.DML操作表结构
进行增删改操作
插⼊全部字段
-- 所有的字段名都写出来 INSERT INTO 表名 (字段名 1, 字段名 2, 字段名 3...) VALUES (值 1, 值 2, 值 3); -- 不写字段名 INSERT INTO 表名 VALUES (值 1, 值 2, 值 3...);
- 插⼊部分数据
INSERT INTO 表名 (字段名 1, 字段名 2, ...) VALUES (值 1, 值 2, ...);
- 将表名2中的所有的列复制到表名1中
INSERT INTO 表名 1 SELECT * FROM 表名 2;
- 只复制部分列
INSERT INTO 表名 1(列 1, 列 2) SELECT 列 1, 列 2 FROM student;
- 不带条件修改数据
UPDATE 表名 SET 字段名=值; -- 修改所有的⾏
- 带条件修改数据
UPDATE 表名 SET 字段名=值 WHERE 字段名=值;
- 不带条件删除数据
DELETE FROM 表名;
- 带条件删除数据
DELETE FROM 表名 WHERE 字段名=值;
- 使⽤ truncate 删除表中所有记录
TRUNCATE TABLE 表名;
- truncate 和 delete 的区别
truncate 相当于删除表的结构,再创建⼀张表。
5.DQL操作表结构
- 查询表所有⾏和列的数据
-- 使⽤*表示所有列 SELECT * FROM 表名; -- 查询所有的学⽣ select * from student;
- 查询指定列
-- 查询指定列的数据, 多个列之间以逗号分隔 SELECT 字段名 1, 字段名 2, 字段名 3, ... FROM 表名; -- 查询 student 表中的 name 和 age 列 select name,age from student;
- 使⽤关键字
使⽤别名的好处:显示的时候使⽤新的名字,并不修改表的结构。
-- 对列指定别名 SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名; -- 对列和表同时指定别名 SELECT 字段名 1 AS 别名, 字段名 2 AS 别名... FROM 表名 AS 表别名; -- 使⽤别名 select name as 姓名, age as 年龄 from student; -- 表使⽤别名 select st.name as 姓名, age as 年龄 from student as st;
- 查询指定列并且结果不出现重复数据
SELECT DISTINCT 字段名 FROM 表名;
- 某列数据和固定值运算
SELECT 列名 1 + 固定值 FROM 表名; SELECT 列名 1 + 列名 2 FROM 表名;
- 为什么要条件查询
如果没有查询条件,则每次查询所有的⾏。实际应⽤中,⼀般要指定查询的条件,对记录进
⾏过滤。
SELECT 字段名 FROM 表名 WHERE 条件;
- 运算符
- 逻辑运算符
6.练习
见我的上传文件
这篇关于MySql Basic-day01的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-07MySQL读写分离入门:轻松掌握数据库读写分离技术
- 2024-12-07MySQL读写分离入门教程
- 2024-12-07MySQL分库分表入门详解
- 2024-12-07MySQL分库分表入门指南
- 2024-12-07MySQL慢查询入门:快速掌握性能优化技巧
- 2024-12-07MySQL入门:新手必读的简单教程
- 2024-12-07MySQL入门:从零开始学习MySQL数据库
- 2024-12-07MySQL索引入门:新手快速掌握MySQL索引技巧
- 2024-12-06BinLog学习:MySQL数据库BinLog入门教程
- 2024-12-06Binlog学习:MySQL数据库的日志管理入门教程