• Mysql1


    1.CURD的含义

    C(Create):创建      R(Read):查询        U(Update):修改       D(Delete):删除

    2.SQL语句分类 

    1) Data Definition Language (DDL 数据定义语言) 如:建库,建表

    2) Data Manipulation Language(DML 数据操纵语言),如:对表中的记录操作增删改

    3) Data Query Language(DQL 数据查询语言),如:对表中的查询操作

    4) Data Control Language(DCL 数据控制语言),如:对用户权限的设置 

    3.DDL操作数据库 

    1)创建数据库 

    -- 直接创建数据库db1 
    create database db1; 
     
    -- 判断是否存在,如果不存在则创建数据库db2
     create database if not exists db2; 
     
    -- 创建数据库并指定字符集为gbk 
    create database db3 default character set gbk;

    2)查看数据库 

    -- 查看所有的数据库  
    show databases;
     
    -- 查看某个数据库的定义信息 
    show create database db3;
    show create database db1;

    3)修改数据库 

    -- 将 db3 数据库的字符集改成 
    utf8 alter database db3 character set utf8; 

    4)删除数据库 

    -- 删除 db2 数据库 
    drop database db2; 

    5)使用数据库 

    -- 查看正在使用的数据库 
    select database(); 
     
    -- 改变要使用的数据库 
    use db4

    4.DDL操作表结构 

    前提先使用某个数据库 

    1)创建表

    -- 创建 student 表包含 id,name,birthday 字段 
    create table student ( 
           id int,  -- 整数  
           name varchar(20),  -- 字符串  
           birthday date -- 生日,最后没有逗号 
    );

    2)查看表

    -- 查看 day21 数据库中的所有表 
    use day21; 
    show tables;
     
    -- 查看 student 表的结构 
    desc student; 
    -- 查看 student 的创建表 SQL 语句 
    show create table student; 

    3)快速创建一个表结构相同的表 

    -- 创建一个s1的表与student结构相同 
    create table s1 like student; 
    desc s1; 

    4)删除表 

    -- 直接删除表s1表 
    drop table s1; 
     
    -- 判断表是否存在并删除s1表 
    drop table if exists s1;

    5).修改表结构 

    -- 为学生表添加一个新的字段 remark,类型为 varchar(20) 
    alter table student add remark varchar(20); 
    
    -- 将 student 表中的 remark 字段的改成 varchar(100) 
    alter table student modify remark varchar(100); 
    
    -- 将 student 表中的 remark 字段名改成 intro,类型 varchar(30) 
    alter table student change remark intro varchar(30); 
    
    -- 删除 student 表中的字段 intro 
    alter table student change remark intro varchar(30); 
    
    将学生表 student 改名成 student2 
    rename table student to student2; 
    
    将 student2 表的编码修改成 gbk 
    alter table student2 character set gbk; 

    5.DML操作表中的数据 

    1) 插入数据

    -- 插入所有的列,向学生表中 
    insert into student (id,name,age,sex) values (1, 'aa', 20, ''); 
    insert into student (id,name,age,sex) values (2, 'bb', 16, '');
    
    -- 插入所有列 
    insert into student values (3, 'cc', 18, '', 'zzz'); 
    -- 如果只插入部分列,必须写列名 
    insert into student values (4, 'dd', 18, ''); 
     

    2)更新表记录 

    -- 不带条件修改数据,将所有的性别改成女 
    update student set sex = ''; 
     
    -- 带条件修改数据,将id号为2的学生性别改成男 
    update student set sex='' where id=2; 
     
    -- 一次修改多个列,把id为3的学生,年龄改成26岁,address改成北京 
    update student set age=26, address='北京' where id=3; 

    3)删除表记录 

    -- 带条件删除数据,删除id为1的记录 
    delete from student where id=1; 
     
    -- 不带条件删除数据,删除表中的所有数据 
    delete from student;

    6.DQL查询表中的数据 

    1)简单查询 

    -- 查询所有的学生: 
    select * from student;
    
    -- 查询 student 表中的 name 和 age 列 
    select name,age from student; 
    
     

    2)指定列的别名进行查询 

    -- 使用别名 
    select name as 姓名,age as 年龄 from student;
    
     -- 表使用别名 
    select st.name as 姓名,age as 年龄 from student as st

    3)清除重复值 

    -- 查询学生来至于哪些地方 
    select address from student; 
     
    -- 去掉重复的记录 
    select distinct address from student;

    4)查询结果参与运算 

    select * from student; 
    
    -- 给所有的数学加 5 分 
    select math+5 from student; 
     
    -- 查询 math + english 的和 
    select * from student; 
    select *,(math+english) as 总成绩 from student;
     
    -- as 可以省略 
    select *,(math+english) 总成绩 from student; 

    5)条件查询 

    -- 查询math分数大于80分的学生 
    select * from student3 where math>80; 
     
    -- 查询english分数小于或等于80分的学生 
    select * from student3 where english <=80; 
     
    -- 查询age等于20岁的学生 
    select * from student3 where age = 20; 
     
    -- 查询age不等于20岁的学生,注:不等于有两种写法 
    select * from student3 where age <> 20; 
    select * from student3 where age != 20; 
    -- 逻辑运算符
    -- 查询 age 大于 35 且性别为男的学生(两个条件同时满足) 
    select * from student3 where age>35 and sex=''; 
     
    -- 查询 age 大于 35 或性别为男的学生(两个条件其中一个满足) 
    select * from student3 where age>35 or sex=''; 
     
    -- 查询 id 是 1 或 3 或 5 的学生 
    select * from student3 where id=1 or id=3 or id=5;
    -- in关键字
    --
    查询id是1或3或5的学生 select * from student3 where id in(1,3,5); -- 查询id不是1或3或5的学生 select * from student3 where id not in(1,3,5);
    -- 范围查询
    --
    english 成绩大于等于 75,且小于等于 90 的学生 select * from student3 where english between 75 and 90;
    -- like模糊查询
    --
    查询姓马的学生 select * from student3 where name like '马%'; select * from student3 where name like ''; -- 查询姓名中包含'德'字的学生 select * from student3 where name like '%德%'; -- 查询姓马,且姓名有两个字的学生 select * from student3 where name like '马_';
  • 相关阅读:
    隔离级别
    cookie
    session
    正则表达式
    hello2源代码解析
    servlet_filter简介
    web.xml
    Annotations
    Java design patterna
    CDI Features
  • 原文地址:https://www.cnblogs.com/pengyupeng/p/11217989.html
Copyright © 2020-2023  润新知