Mysql数据库基础语法

下载并安装Mysql和SQLyog

Mysql基础语法(DDL操作数据库)

  1. 查询所有的数据库列表:
 SHOW DATABASES
  1. 对数据库操作的分类包含: CRUD
 C create 创建
 R retrieve 查询
 U update 修改
 D delete 删除
  1. 创建数据库:
 CREATE DATABASE 数据库名 CHARACTER SET utf8;
  1. 切换数据库:
 USE 数据库名;
  1. 查询当前正在使用的数据库:
 SELECT DATABASE();
  1. 修改数据库的字符集:
 ALTER DATABASE  数据库名 CHARACTER SET utf8;
  1. 查询当前数据库的基本信息:
 SHOW CREATE DATABASE 数据库名;
  1. 删除数据库:
 DROP DATABASE 数据库名;  

创建表的语法格式(DDL操作表)

  1. 创建表的语法格式
 create table 表名(
	   字段名称1 字段类型(长度),
	   字段名称2 字段类型,
	   字段名称3 字段类型 最后一个列不要添加逗号
	);
  1. MySql中常见的数据类型
 int 整型
 double 浮点型
 varchar 字符串
 date 日期类型 年月日 没有时分秒 yyyy-MM-dd
 datetime 日期时间类型 yyyy-MM-dd HH:mm:ss
  1. 快速创建一个表结构相同的表(复制表结构):
 CREATE TABLE 新表名称 LIKE 旧表名称;
  1. 查看表结构:
 DESC 表名;
  1. 查看创建表的 sql:
 SHOW CREATE TABLE 表名;
  1. 表的删除:
  • 方式1: 将数据库中的某一张表永久删除
 DROP TABLE test1;
  • 方式2: 判断表是否存在, 如果存在就删除 如果不存在就不执行删除
 DROP TABLE IF EXISTS test2;
  1. 修改表名称:
 RENAME TABLE 旧表名 to 新表名
  1. 修改表的字符集为 gbk:
 alter table 表名 character set 字符集
  1. 向表中添加一个字段 关键字: add
 alter table 表名 add 字段名称 字段类型(长度)
  1. 修改表中列的类型或者长度 关键字 modify:
 alter table 表名 modify 字段名称 字段类型
  1. 修改列的名称 关键字: change
 alter table 表名 change 旧列名 新列名 类型(长度)
  1. 删除列 关键 drop:
 alter table 表名 drop 列名

对表中的数据进行 增删改查(DML操作)

1.创建数据表:

语法格式: insert into 表名 (字段名1,字段名2...) values(字段值1,字段值2...)

例子:
-- 创建学生表
CREATE TABLE student(
	sid INT,
	sname VARCHAR(20),
	age INT,
	sex CHAR(1),
	address VARCHAR(40)
);
  1. 增加字段,向表中插入数据:
-- 方式1 插入全部字段 将所有字段名都写出来
INSERT INTO student (sid,sname,age,sex,address) VALUES(1,'唐僧',18,'男','东土大唐');

-- 方式2 插入全部字段 不写字段名
INSERT INTO student VALUES(2,'唐僧',5,'男','西天');

-- 方式3 插入指定字段
INSERT INTO student (sid,sname) VALUES(3,'女儿国国王');


注意:
-- 1.值与字段必须对应 个数&数据类型&长度 都必须一致
	INSERT INTO student (sid,sname,age,sex,address) VALUES(4,'孙悟空',18,'男','花果山');

-- 2.在插入 varchar char date 类型的时候,必须要使用 单引号 或者双引号进行包裹
	INSERT INTO student (sid,sname,age,sex,address) VALUES(4,'孙悟空',18,'男','花果山');

-- 3.如果插入空值 可以忽略不写 或者写 null
	INSERT INTO student (sid,sname) VALUES(5,'唐僧');
	INSERT INTO student (sid,sname,age,sex,address) VALUES(6,'八戒',NULL,NULL,NULL);
  1. 修改操作:
    语法格式1: update 表名 set 列名 = 值
	语法格式2: update 表名 set 列名 =[where 条件表达式: 字段名 =]
-- 一次性修改多个列
-- 修改sid 为 5的这条数据, 年龄改为20, 地址改为 大唐
UPDATE student SET age = 20 , address = '大唐' WHERE sid = 5;

4.删除:

    语法格式1: delete from 表名;
	语法格式2: delete from 表名 [where 条件];
	-- 删除所有数据的方式 两种
	1. delete from; 不推荐, 对表中的数据逐条删除. 效率低
	2. truncate table; 推荐, 删除整张表, 然后再创建一个一模一样的新表.
  1. 查询:

基础查询语句

-- 查询emp 表中的所有数据
SELECT * FROM emp; -- * 表示所有的列

-- 查询所有数据 只显示 id 和 name
SELECT eid, ename FROM emp;

-- 查询所有的数据,然后给列名 改为中文
SELECT * FROM emp;
  • 别名查询 使用关键字 as
SELECT 
	eid AS '编号',
	cname AS '姓名',
	sex AS '性别',
	salary AS '薪资',
FROM emp;

在这里插入图片描述

  • 去重操作
SELECT DISTINCT cname FROM emp;
  • 将我们的员工薪资数据 +5000 进行展示
SELECT cname, money+5000  FROM emp;
--- 更细致写法
SELECT cname AS '姓名',money+5000 AS '金额' FROM test1;

在这里插入图片描述

条件查询

先取出表中的每条数据,满足条件的就返回,不满足的就过滤.

语法格式: select 列名 from 表名 where 条件表达式

比较运算符
		>  <  <=   >=   =  <> !=
		BETWEEN  ...AND...
		IN(集合)
		LIKE
		IS NULL	
逻辑运算符
	And
	Or
	Not
  • 查询员工姓名为公司的员工信息
SELECT *FROM test1 WHERE cname = '公司';

在这里插入图片描述

  • 查询薪水价格不是5000的所有员工信息
SELECT *FROM test1 WHERE money != 5000;
SELECT *FROM test1 WHERE money <> 5000;

在这里插入图片描述

  • 查询薪水价格在5000到10000之间所有员工信息
SELECT *FROM test1 WHERE money BETWEEN 5000 AND 10000;
SELECT *FROM test1 WHERE money >= 5000 AND money <= 10000;

在这里插入图片描述

  • 查询薪水价格是3600或7200或者20000的所有员工信息
SELECT *FROM test1 WHERE money IN (5000,6000);
SELECT *FROM test1 WHERE money=5000 OR money=6000;

在这里插入图片描述

通配符的使用
like '_精'  
		% 通配符 ,表示匹配任意多个字符串
		_ 通配符 ,表示匹配一个字符
  • 查询含有’发’字的所有员工信息
SELECT *FROM test1 WHERE cname LIKE '%发%';

在这里插入图片描述

  • 查询以’公’开头的所有员工信息
SELECT *FROM test1 WHERE cname LIKE '公%';

在这里插入图片描述

  • 查询第二个字为’大’的所有员工信息
SELECT *FROM test1 WHERE cname LIKE '_发%';

在这里插入图片描述

  • 查询没有home的员工信息
SELECT *FROM test1 WHERE home IS NULL;

在这里插入图片描述

  • 查询有home的员工信息
SELECT *FROM test1 WHERE home IS NOT NULL;

在这里插入图片描述

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值