关于数据库语言的初步理解

1.SQL语言的分类

  • DDL:数据定义语言,定义数据库和表,create,drop,alter
  • DML:数据的操作语言,对表中的数据进行操作,insert,delete,update
  • DCL:数据的操作语言,
  • DQL:数据的查询语言,最为常用,select

2.DDL的使用

2.1 create 创建数据库和表

数据库创建的格式:
	create database 数据库名;

表的创建格式:
	create table 表名(
		字段1  字段类型,
		字段2  字段类型,
		字段3  字段类型,
		......
	);

2.2 alter 修改

1.表的修改

  • 添加字段

      alter table 表名  add  字段  字段类型;
    
  • 改字段类型
    alter table 表名 modify 字段 修改的字段类型;

  • 改字段名
    alter table 表名 change 旧字段 新字段 字段类型;

  • 删除字段
    alter table 表名 drop 字段 ;

  • 表名重命名
    rename table 旧表名 to 新表名;
    2.数据库的修改

    alter database 数据库名 character set 字符集;

3.DML的使用

  1. 添加元素,采用默认的方式进行赋值,需要对每个字段进行赋值,否则报错
    insert into 表名(id,name,sex,age) values( 1 ,‘tom’,male ,23 )
    可以选定指定字段进行赋值操作
    insert into 表名(id,name) values(2,‘jerry’);
  2. 删除某一行的数据,可以根据条件进行删除,否则全部删除
    DELETE FROM 表名 where 限制条件
  3. 更改表中的数据值
    UPDATE FROM 表名 SET 字段=值 where 条件筛选

4.DQL的使用

  • 查询语句是使用最为频繁的语句
    主要包含12种,别名查询未放入其中,只要会 AS 关键字即可

    -- 1.查询所有
    SELECT *FROM student;
    
    -- 2.查询指定列
    SELECT id,NAME,chinese,english,math FROM student;
    
    -- 3.查询时添加常量列
    SELECT id,NAME,18 AS'age'FROM student;
    
    -- 4.查询时合并
    SELECT id,NAME,(chinese+math+english)AS'总分'FROM student;
    
    -- 5.去除重复记录
    SELECT DISTINCT servlet FROM student;
    
    -- 6.条件查询
    -- 6.1 逻辑条件 and  or
    SELECT *FROM student WHERE chinese>80 AND math>70;
    -- 6.2 比较条件 > < >= <= = <>(不等于) between and(>=且<=)
    SELECT *FROM student WHERE english BETWEEN 50 AND 80;
    SELECT *FROM student WHERE chinese >=80;
    -- 6.3 判空条件  is null/is not null   =''/<>''(为空或非空字符串)
    SELECT *FROM student WHERE servlet IS NULL;
    ALTER TABLE student ADD COLUMN address VARCHAR(20);
    ALTER TABLE student DROP address;
    UPDATE student SET address='安徽黄山'WHERE id=2 OR id=3;
    -- 6.4 模糊条件  like  %表示任意个字符  _代表一个字符
    SELECT *FROM student WHERE NAME LIKE '李_';
    
    -- 7.聚合查询  常用聚合函数
       #  sum() avg()  max()  min()  count()
    SELECT SUM(english) AS '英语总分' FROM student;
    SELECT AVG(math) AS '数学avg' FROM student;
    SELECT MAX(chinese) AS '语文最高' FROM student;
    SELECT MIN(chinese)AS '语文最低' FROM student;
    SELECT COUNT(*) AS '个数' FROM student;
    -- count()统计不包含null值,使用不包含null值的字段
    
    -- 8.分页查询 limit 起始行,查询几行
    -- 起始行 = (页数-1)*查询行数
    SELECT *FROM student LIMIT 0,2;
    SELECT *FROM student LIMIT 2,2;
    SELECT *FROM student LIMIT 4,2;
    SELECT *FROM student LIMIT 6,2;
    
    -- 9.查询排序 order by 字段 asc/desc(倒序)
    SELECT *FROM student ORDER BY chinese DESC;
    SELECT *FROM student ORDER BY english,math;
    
    -- 10.分组查询 group by 字段名
    SELECT sex,COUNT(*)FROM student GROUP BY sex;
    
    SELECT *FROM student;
    
    -- 11.分组后筛选
    --   分组前的条件用WHERE , 分组后筛选用COUNT !!
    SELECT sex,COUNT(*)FROM student WHERE GROUP BY sex HAVING COUNT(*)>3;
    

    5.delete和truncate
    5.1delete

    • 语法
      delete from 表 [where条件]; 注意: 删除数据用delete,不用truncate

    • 类型
      删除表中名称为’Mac’的记录
      删除价格小于5001的商品记录
      删除表中的所有记录
      5.2truncate
      truncate table 表;

    • delete删除: 将表中的数据, 一条一条的删除, 速度慢, 通过日志文件找回删除的内容

    • truncate删除: 将表直接删除, 然后创建一张结构相同的空表.速度快, 无法找回.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值