MySQL基础语法

DDL,DML,DCL,DQL

  1. DDL(Data Definition Language)数据定义语言,用来定义数据库对象,操作表结构
  2. DML(Data Manipulation Language)数据操作语言,用来定义数据库记录(数据),操作表记录
  3. DCL(Data Control Language)数据控制语言,用来定义访问权限和安全级别
  4. DQL(Data Query Language)数据查询语言,用来查询记录(数据)

DDL

创建:CREATE DATABASE 数据库名;
删除:DROP DATABASE 数据库名;
改变使用的数据库:USE 数据库名;

  1. 创建:CREATE TABLE 表名(
    列名 列类型,
    列名 列类型,

    列名 列类型
    );
  2. 查看当前数据库中所有表名称:SHOW TABLES;
  3. 查看指定表的创建语句:SHOW CREATE TABLE 表名;
  4. 查看表结构:DESC 表名;
  5. 删除表:DROP TABLE 表名;
  6. 修改表: ALTER TABLE 表名(前缀)
  7. 修改表之添加列:ALTER TABLE 表名 ADD (
    列名 列类型,
    列名 列类型,

    列名 列类型
    );
  8. 修改表之修改列类型:ALTER TABLE 表名 MODIFY 列名 列类型;(如果列被修改之前已存在数据,那么新的类型可能会影响到已存在的数据
  9. 修改表之修改列名:ALTER TABLE 表名 CHANGE 原列名 新列名 列类型;
  10. 修改表之删除列:ALTER TABLE 表名 DROP 列名;
  11. 修改表名称:ALTER TABLE 原表名 RENAME TO 新表名;

DML

INSERT

INSERT INTO 表名[(列名,列名,…)] values(值,值,…);
值的顺序与声明的字段的顺序保持一致

插入多条记录:
INSERT INTO 表名[(列名,列名,…)] values (记录),(记录),(记录);

复制表:
CREATE TABLE 要复制的表的表名 SELECT * FROM 新表名;#复制表结构及其数据

DELETE

DELETE FROM 表名[where 条件语句];

UPDATE

UPDATE 表名 SET 列名 = 新值,列名 = 新值,… [where 条件语句];

DCL

  1. 创建用户:
    |- CREATE USER 用户名@IP地址 IDENTIFIED BY ‘密码’;
    (用户只能在指定IP地址上登录)
    |- CREATE USER 用户名@’%’ IDENTIFIED BY ‘密码’;
    (用户可以在任意IP地址上登录)
  2. 用户授权
    |- GRANT 权限1,权限2.。。。权限n ON 数据库.* TO 用户名@IP地址;
    (给予用户指定数据库的部分权限,例如:CREATE,ALTER,DROP,INSERT,UPDATE,DELETE,SELECT权限)
    |- GRANT ALL ON 数据库.* TO 用户名@IP地址;
    (给予用户指定数据库的全部权限)
  3. 撤销授权
    REVOKE 权限1,权限2.。。。权限n ON 数据库.* FROM 用户名@IP地址;
    (撤销指定用户在指定数据库的指定权限)
  4. 查看权限
    SHOW GRANTS FOR 用户名@IP地址;
    (查看指定用户的权限)
  5. 删除用户
    DROP USER 用户名@IP地址;

DQL

列控制

  1. 査洵所有列:SELECT * FROM表名;
    –>其中" * ”表示査洵所有列
  2. 査洵指定列
    SELECT 列1 [,列2,…列N] FROM 表名;
  3. 完全重复的记录只记一次
    当査洵結果中的多行记录一-模一 祥吋,只显示一行。
    SELECT DISTINCT * (列1 [,列2,…列N] ) FROM表名;
  4. 列运算
    |- 数量类型的列可以做加、減、乘、除运算
    SELECT 列名*1.5 FROM 表名;
    SELECT 列名 + 列名 FROM 表名;
    |- 字符串类型可以做连续运算
    SELECT CONCAT('S', 列名) FROM 表名;
    |- 转换NULL値
    有吋需要把NULL值转换成其它値,例如:列名+1000吋, 如果此列存在NULL値,那么NULL+1000就是NULL,而我们希望把NULL当前0来运算.SELECT IFNULL (列名, 0)+1000 FROM 表名;
    |- 给列起別名
    SELECT IFNULL(列名, 0)+1000 AS 别名 FROM 表名;
    –>其中As可以省略

条件控制

  1. 条件查询

select empno,ename,comm from emp where sal > 10000 and comm is not null;
在这里插入图片描述
select empno,ename,comm from emp where sal between 20000 and 30000;
在这里插入图片描述
select empno,ename,job from emp where job in ('经理','董事长');
在这里插入图片描述

  1. 模糊查询

当你想查询姓张,并且姓名一共两个字的员工时
在这里插入图片描述
模糊查询需要使用运算符:LIKE;上面栗子查询的是姓张,并且名字由两个字构成的人员

在这里插入图片描述
上面栗子查询的是名字由三个字构成的人员
在这里插入图片描述
上面栗子查询的是名字中含有“一”的人员

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值