SQL语句

数据库操作
一、数据库的创建:
    1、创建一个名称为mydb1的数据库
        create database mydb1;
    2、创建一个使用utf8字符集的mydb2数据库。
        create database mydb2 character set utf8;
二、 修改mydb2字符集为gbk;
         alter database mydb2 character set gbk;
三、删除数据库mydb3。
         drop database mydb3;
四、查看所有数据库。
         show databases;
-----------------------------------------------

数据库中表操作的
一、创建表    
 create table employee (
              id   int  primary key auto_increment,
        name   varchar(20)  not null,
      gender   varchar(10),
     birthday   date,
 entry_date   date,
             job   varchar(30),
        salary   double,
      resume   text
 );
二、查看表结构
    1、查看数据库内的所有表
          show tables;
    2、查看employee的建表语句
          show create table employee;
    3、查看employee的表结构
          desc employee;

三、数据表的结构的修改:   alter table 表名 (add, modify, change , drop)
    1、增加job列
           alter table employee add job varchar(20);
    2、修改job列,使其长度为60。
           alter table employee modify job varchar(60);
    3、修改列名 name修改为username
           alter table user change name username varchar(20) not null;
    4、 删除gender列
            alter table employee drop gender;
    5、表名改为user。
            rename table employee to user;

 四、删除表
    1、删除employee2表
           drop table employee;

----------------------------------------------------

表记录数据的操作
一、插入语句 ---insert    insert into 表名(列名,列名) values(值1,值2);   
       INSERT INTO `employee` (`id`, `name`) VALUES      批量增加
       ('0', 'ak'),
       ('1', 'bk'),
       ('2', 'ck'),
       ('3', 'dk'),
       ('4', 'fk')
 二、更新语句 ---update   update 表名 set   列名='值' ,列名='值' [where 条件];
    1、将所有员工薪水修改为5000元。
        update employee set salary=5000 ;
    2、将姓名为’zs’的员工薪水修改为3000元。
         update employee set salary=3000 where name='zs';
    3、将姓名为’ls’的员工薪水修改为4000元,job改为ccc。
         update employee set salary=3000,job='ccc' where name='ls';
    4、将wangwu的薪水在原有基础上增加1000元。
        update employee set salary=salary+1000 where name='wangwu';   

三、删除语句 ---delete    delete from 表名 [where 条件]
    1、删除表中名称为’zs’的记录。
       delete from employee where name='ls';
    2、删除表中所有记录。
        delete from employee;

  四、查询语句 ---select  select [distinct]  * [列名1,列名2] from 表名 [where 条件]

  检索列

# 检索多列 select name, age, class from student;

# 检索所有列 select * from student;

# 对某列去重 select distinct class from student;

# 检索列-选择区间 #   limt m n:表示从第m+1条开始,取n条数据

select * from student limit 1, 10;  

根据条件查询过滤数据

# 找到学号为在 (1, 10) 的学生   select * from student where number between 1 and 10;

# 找到未设置邮箱的学生            select * from student where email is null;

# 找到一班中大于23岁的学生     select * from student where class_id = 1 and age > 23;

# 找到一班或者大于23岁的学生  select * from student where class_id = 1 or age > 22;

聚集函数  一些对数据进行汇总的函数,常见有 COUNT(算行数MINMAXAVGSUM (求和)五种

# 统计2班人数        select count(*) from student where class_id = 2;

排序和分组

排序   order by    依照查询结果的某一列(或多列)属性,进行排序 (默认排序是 升序ASC,降序是 DESC

select * from student order by number desc;

分组   group by   按照查询结果集中的某一列(或多列),进行分组,值相等的为一组。

查询选修了3门以上课程的学生学号:  select sno from sc group by sno having count(cno)>3

查询选修了3门以上课程,且所有课程成绩都高于60分的学生学号及课程数   select sno,count(cno) from sc where grade>60  group by sno having count(cno)>3

............

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值