MySQL知识计算【分分快三全天计划网站】

作者:分分快三全天计划网站

1.MySQL数据库
    MySQL是风姿罗曼蒂克种关周详据库管理种类,关全面据库将数据保存在不一致的表中,进而扩展了进程并进步了灵活性。
    MySQL所采纳的 SQL 语言是用以访谈数据库的最常用标准化语言,由于其体量小、速度快、总体具有开支低,特别是开放源码那风流洒脱风味,平时中
  小型网址的开辟都接纳 MySQL 作为网址数据库,搭配 PHP 和 Apache 可组成突出的开销条件。
2.MySQL囤积方式
    风华正茂台数据库服务器中会创制十分大多据库,在数据库中会创立比很多张表,在表中会有众多记录。
3.SQL布局化查询语言
     SQL是高档的非进度化编制程序语言,是风流倜傥种数据库查询和顺序设计语言,用于存取数据以至询问、更新和治本关周详据库系统;同有时间也是数据库脚
  本文件的恢宏名,能够嵌套,具有庞大的灵活性和强盛的功效。
4.SQL言语的归类
    (1)DDL(数据定义语言)
    (2)DML(数据操作语言)
    (3)DCL(数据调整语言)
    (4)DQL(数据查询语言)
5.MySQL数据库的成立、修正和删除
    (1)创造数据库
        语法: create database 数据库名称 [character set 字符集 collate 字符集查对准绳](日常忽视);
    (2)查看数据库
      查看全部数据库:
        语法: show databases;
      查看有个别数据库:
        语法: show create database 数据库名称;
    (3)改过数据库:
        语法:alter database 数据库名称 [character set 字符集 collate 字符集查对法规](平日忽视);
    (4)删除数据库:
        语法:drop database 数据库名称;
    (5)使用依然切换数据库:
        语法:use 数据库名称;
6.MySQL表的始建、改善和删除
    (1)创建表
        语法:create table 表名(
            数据名称 数据类型(长度) 限定,
            .......
        );
        注:括号内的语句用逗号实行反复成立,最终的语句不加任何标点符号
        数据类型:(MySQL所对应的Java类型)
         Java中的类型                        MySQL中的类型
            byte/short/int/long             tinyint/smallint/int/bigint
            float                            float
            double                            ouble
            boolean                            bit
            char/String                        char和varchar类型
                                             char和varchar的区别:
                                              char代表是定位长度的字符或字符串。
                                               定义类型char(8),向那个字段存入字符串hello,那么数据库使用多个空格将其补全。
                                              varchar代表的是可变长度的字符串。
                                               定义类型varchar(8), 向那么些字段存入字符串hello,那么存入到数据库的就是hello。
            Date                            date/time/datetime/timestamp
                                             datetime和timestamp区别
                                              datetime正是既有日期又不常间的日期类型,如果未有向那几个字段中存值,数据库使用null存入
                                              到数据库中
                                              timestamp也是既有日期又有的时候光的日子类型,若无向那些字段中存值,数据库使用当前的
                                              系统时间存入到数据库中。
            File                            BLOB/TEXT
        约束:
          限定功效:保险数据的完整性
          单表约束:
            主键约束:primary key (主键节制私下认可正是头一无二 非空的)
            唯生龙活虎节制:unique
            非空约束:not null
    (2)查看表
        查看二个数据库下的具备的表:
          语法:show tables;
        查看单唯一个表:
          语法:desc 表名;
    (3)删除表
          语法:drop table 表名;
    (4)修改表
        增添列:
          语法: alter table 表名 add 列名 数据类型(长度) 限制;
        改进列类型,长度和平条节制:
          语法: alter table 表名 modify 列名 数据类型(长度) 限定;
        删除列:
          语法: alter table 表名 drop 列名;
        修正列名称:
          语法: alter table 表名 change 旧列名 新列名 数据类型(长度) 限制;
        改革表名:
          语法: rename table 表名 to 新的表名;
        更改表的字符集:
          语法: alter table 表名 character set 字符集;
7.MySQL数据的增加和删除改查
    (1)增加表记录
        向表中插入有些列:
          语法: insert into 表名 (列名1,列名2,列名3…) values (值1,值2,值3…);
        向表中插入全数列:
          语法: insert into 表名 values (值1,值2,值3…);
      注意:
        1.值的类别与数据库中表列的种类黄金年代致;
        2.值的逐个与数据库中表列的逐个意气风发致;
        3.值的最大尺寸不可能超越列设置最大尺寸;
        4.值的品类是字符串或然是日期类型,使用单引号引起来。
    (2)改进表记录
          语法: update 表名 set 列名=值,列名=值 [where 条件];
      注意:
        1.值的档案的次序与列的档案的次序生机勃勃致;
        2.值的最大尺寸不能够超越列设置的最大尺寸;
        3.字符串类型和日期类型添加单引号。
    (3)删除表记录
          语法: delete from 表名 [where 条件];(或许truncat from 表名;)<注:truncat删除表数据不或许恢复生机>
      注意:
        1.删除表的记录,指的是删除表中的黄金时代行记录;
        2.剔除若无标准,默许是去除表中的富有记录。
    (4)查看表记录
          语法: select  *(可能列名) from 表 [条件];
8.MySQL减轻向数据库中插入汉语记录会现身错误
    死灭措施:
        要求将MySQL数据库服务器中的客商端部分的字符集改为gbk,找到MySQL的装置路线:my.ini文件,改善文件中[client]下的字符集,将
      [default-charaacter-set=ISO-8895-1]改成[default-charaacter-set=gbk],然后再重新开动MySQL的服务器。
9.按分歧方法查看表记录
    (1)按法则查询:
        使用where 字句
         > ,< ,<= , >= , <> *不等 , =
        like:模糊查询 , in:范围 查询 ,  条件关联:and or not
        查询李四音讯: select * from 表名 where 列名[name = 李四] = '李四';
        查询李四音信并且罗马尼亚语大于90: select * from 表名 where 列名[name = 李四] ='李四' and 列名[Englist]>90;
        在lik能够运用: _ , %  _必须要带表二个字符 %带表七个字符  * %王% 带表中间含有着个字就能够
        查询姓李的学生新闻: select * from 表名 where name like '%李%'
        查询波兰语成绩是69,75,89的学习者: select * form 表名 where 列名[english] in (69 , 75 , 89);
    (2)查询排序:
        使用order by 字段名称 asc/desc; *私下认可是用asc , 倒序desc;
        查询学子消息按战绩排: selech * from order by 列名[english];
        查询学子成绩按倒序: selech * from order by 列名[english] desc;
        查询学子按语文战绩倒序再按法文升序排列: select * from order by  列名[chinese] desc, 列名[english] asc;
        查询姓李的学习者,意大利语按倒序排列: select * from 表名 where 列名[name] like '李%' order by 列名[english] desc;
    (3)分组总计查询:
        聚合函数:
          sum(); 得到总额: count();*个数;  最大值:max() 最小值:min() 平均值:avg;
            获得全体成绩的和: select sum(exam)from 表名;
          count();
            拿到全部的计数: select count(*) from 表名;
          max()/min();
            得到某门考试的最大和眇小战表: select max(math) from 表名;/select min(math) from 表名;
          avg()
            得到平平均数量:select avg(chinese) from 表名;
        分组查询
          语法:使用group by 字段名称;
           按商品名称总结,每类商品所成本的总金额:select product,sum(price) from orderitem group by product;
         注意:
            where的子句前面不可能跟着聚合函数。固然明天使用含有聚合函数的口径过滤(分组后条件过滤卡塔 尔(阿拉伯语:قطر‎供给接纳七个至关心保养要字HAVING;
            例:select product,sum(price) from orderitem  group by product having sum(price) > 5000 order by sum(price) asc;
10.单表查询的实践顺序流程
    select ... from ... where ...  group by ... having ...order by ...;
11.多表查询
      表与表之间的关系-外键
        成效:有限协助多张表之间的数码假如有关联,则涉嫌的数额的完整性。
      设计与建表原则
        生龙活虎对多:将外键设置在多的一方,指向风华正茂的主键
        多对多:必得有第三张表,那张表中起码会有多个字段作为外键,指向多对多的两张表的主键
        大器晚成对生机勃勃:唯黄金年代外键节制
                主键对应:
                  实质正是独立自己作主外键何况让那些外键唯黄金年代。
      查询:
        希图条件:多表分析创造
        连接查询:关联条件就是外键
            内连接:交集, select * from 表1, 表2 where 条件
            左外连接:左表的数据和交集数据
                select * from 表1 left join 表2 on 条件
            右外接连:右表的数码和混合数据
                select * from 表1 right join 表2 on 条件
        子查询
12.分页查询
    select * from 表名 limit begin, length  :begin 从0初始,表示索引;length:表示查询多少条记下
    select * from 表名 limit number; 从第一条数据先河,总共查询number条数据。
13.MySQL常见bug
     select * from 表名 where score = '80abc' 实质就是:SELECT * FROM stu where score = 80, 会将不能转变为数值的字符扬弃
     select * from 表名 where NAME = 'abC' :MySQL查询的时候不区分抑扬顿挫写      
        消弭措施:
            select * from stu where BINARY NAME = 'Abc'

1.3.2 SQL校正表的记录

  • 语法:
    • update 表名 set 列名=值,列名=值 [where 条件];
  • 注意事项
    • 值的体系与列的系列风流浪漫致。
    • 值的最大尺寸无法当先列设置的最大尺寸。
    • 字符串类型和日期类型增加单引号。
  • 矫正某一列的全体值

    • update user set password = 'abc';

    • 分分快三全天计划网站 1

      订正某一列全数的值.png

  • 按规范订正数据

    • update user set password = 'xyz' where username = 'bbb';

    • 分分快三全天计划网站 2

      按规范改善数据.png

  • 按规范修改多个列

    • update user set password='123',age=34 where username='aaa';

    • 分分快三全天计划网站 3

      按典型修改四个列.png

  • 删除表的笔录

  • 语法:
    -delete from 表名 [where 条件];

  • 注意事项

    • 删除表的记录,指的是剔除表中的风流倜傥行记录。
    • 去除若无原则,私下认可是去除表中的有所记录。
  • 删除某一条记下

    • delete from user where id = 2;

    • 分分快三全天计划网站 4

      去除某一条记录.png

  • 删去表中的具备记录

    • delete from user;

    • 分分快三全天计划网站 5

      去除表中的富有记录.png

  • 删去表中的笔录有二种做法:
    • delete from user;
      • 去除全数记录,归属DML语句,一条记下一条记下删除。事务能够成效在DML语句上的
    • truncate table user;
      • 去除全数记录,归于DDL语句,将表删除,然后重新创造叁个构造相符的表。事务不能够操纵DDL的

 double                 double

1.3.3 SQL查看表的笔录(敲黑板啦卡塔尔国

  • 主导查询
    • 语法:select [distinct] *|列名 from 表 [条件];
    • 条件的预备:
create table exam(
    id int primary key auto_increment,
    name varchar(20),
    english int,
    chinese int,
    math    int
);

insert into exam values (null,'张三',85,74,91);
insert into exam values (null,'李四',95,90,83);
insert into exam values (null,'王五',85,84,59);
insert into exam values (null,'赵六',75,79,76);
insert into exam values (null,'田七',69,63,98);
insert into exam values (null,'李老八',89,90,83);
  • 询问全体学员考试战表信息

    • select * from exam;

    • 分分快三全天计划网站 6

      询问全部学员考试成绩音信.png

  • 询问全体学子的姓名和葡萄牙共和国语战绩

    • select name,english from exam;

    • 分分快三全天计划网站 7

      查询全数学员的人名和法语成绩.png

  • 询问爱沙尼亚语战表新闻(不出示重复的值卡塔尔国

    • select distinct english from exam;

    -

    分分快三全天计划网站 8

    询问英语战绩音讯(不出示重复的值卡塔尔.png

  • 查阅学子姓名和学习者的总战表

    • select name,english chinese math from exam;

    • 分分快三全天计划网站 9

      翻开课生姓名和学习者的总战绩.png

  • 外号询问

    • select name,english chinese math as sum from exam;

    • 分分快三全天计划网站 10

      别称查询.png

  • 标准查询

    • 使用where子句
      • , < , >= , <= , <> ,=
        • like:模糊查询
        • in:范围查询
        • 标准化关联:and , or ,not
  • 查询李四学子的成就:

    • select * from exam where name = '李四';

    • 分分快三全天计划网站 11

      查询李四学子的战表.png

  • 查询名叫李四学子何况西班牙语大于90分

    • select * from exam where name = '李四' and english > 90;

    • 分分快三全天计划网站 12

      询问名称为李四学子况兼斯洛伐克(Slovak卡塔 尔(阿拉伯语:قطر‎语大于90分.png

  • 查询姓李的学习者的新闻

  like能够开展模糊查询,在like子句中能够动用恐怕%作为占位符。只得表示多个字符,而%能够象征私自个字符。

  • like ‘李_’ :名字中必得是八个字,並且是姓李的。
  • like ‘李%’ :名字中姓李的上学的小孩子,李子后方不过1个或私自个字符。
  • like ‘%四’ :名字中以四结尾的。
  • like ‘%王%’ :只要名称中带有这一个字就足以。
  • select * from exam where name like '李%';

  • 分分快三全天计划网站 13

    询问姓李的学习者的音信.png

  • 查询俄文成绩是69,75,89学子的音信

    • select * from exam where english in (69,75,89);

    • 分分快三全天计划网站 14

      询问葡萄牙共和国(República Portuguesa卡塔 尔(英语:State of Qatar)语成绩是69,75,89学子的音信.png

  • 排序查询

    • 动用order by 字段名称 asc/desc;
  • 查询学生音信,何况依照语文战表举办排序:

    • select * from exam order by chinese;

    • 分分快三全天计划网站 15

      询问学子音讯.png

  • 询问学子消息,並且依照语文成绩倒序排序:

    • select * from exam order by chinese desc;

    • 分分快三全天计划网站 16

      语文成绩倒序排序.png

  • 询问姓李的学习者的消息,根据英文成绩降序排序

    • select * from exam where name like '李%' order by english desc;

    • 分分快三全天计划网站 17

      安分守己葡萄牙共和国(República Portuguesa卡塔尔语战表降序排序.png

  • 分组总计查询
  • 聚合函数使用
  • sum();
  • 获得具备学员的土耳其语战表的总的数量:

    • select sum(english) from exam;

    • 分分快三全天计划网站 18

      收获具备学子的乌Crane语成绩的总和.png

  • 赢得具备学员的印度语印尼语战绩和数学成就总和:

    • select sum(english),sum(math) from exam;

    • 分分快三全天计划网站 19

      得到具备学子的越南语成绩和数学战绩总和.png

  • 询问姓李的学员的罗马尼亚(România卡塔 尔(阿拉伯语:قطر‎语战表的总额

    • select sum(english) from exam where name like '李%';

    • 分分快三全天计划网站 20

      查询姓李的学员的塞尔维亚共和国语战绩的总和.png

  • 询问全数学员各科的总战表:

    • select sum(english) sum(chinese) sum(math) from exam;

    • 分分快三全天计划网站 21

      查询全体学子各科的总成绩.png

  • select sum(english chinese math) from exam;
  • 与地点的语句有怎么样两样?

    • 地方的言辞是依照列的办法计算,葡萄牙共和国(República Portuguesa卡塔 尔(阿拉伯语:قطر‎语成绩总和 语文战绩总和 数学战表总和。

    • 下边包车型客车语句先计算意大利共和国语 数学 语文然后再求和。

    • 使用ifnull的函数

      • 分分快三全天计划网站 22

        使用ifnull的函数.png

  • count();
  • 获得学子的总和

    • select count(*) from exam;

    • 分分快三全天计划网站 23

      赢得学子的总量.png

- 获得姓李的学生的个数
- select count(*) from exam where name like '李%';

- ![获得姓李的学生的个数.png](https://upload-images.jianshu.io/upload_images/7034348-5c912ccafba8509f.png?imageMogr2/auto-orient/strip|imageView2/2/w/1240)
  • max();

    • 收获数学成就的最高分:

      • select max(math) from exam;

      • 分分快三全天计划网站 24

        获得数学成就的最高分.png

  • min();

    • 获取语文战绩的最小值

      • select min(chinese) from exam;

      • 分分快三全天计划网站 25

        得到语文战绩的一丝一毫值.png

  • avg();

    • 赢得语文成绩的平均值

      • select avg(chinese) from exam;

      • 分分快三全天计划网站 26

        收获语文战表的平均值.png

  • 分组查询
    • 语法:使用group by 字段名称;
    • 条件打算
create table orderitem(
    id int primary key auto_increment,
    product varchar(20),
    price double
);
insert into orderitem values (null,'电视机',2999);
insert into orderitem values (null,'电视机',2999);
insert into orderitem values (null,'洗衣机',1000);
insert into orderitem values (null,'洗衣机',1000);
insert into orderitem values (null,'洗衣机',1000);
insert into orderitem values (null,'冰箱',3999);
insert into orderitem values (null,'冰箱',3999);
insert into orderitem values (null,'空调',1999);
  • 按商品名称计算,每类物品所购买的个数:

    • select product,count(*) from orderitem group by product;

    • 分分快三全天计划网站 27

      每类货色所选购的个数.png

  • 按商品名称总计,每类货品所开销的总金额:

    • select product,sum(price) from orderitem group by product;

    • 分分快三全天计划网站 28

      每类货品所开销的总金额.png

  • 按商品名称总计,总结每类物品花费的总金额在5000元之上的商品

  where的子句后边无法跟着聚合函数。要是后天利用含有聚合函数的口径过滤(分组后条件过滤卡塔尔要求采纳四个重要字having

  • select product,sum(price) from orderitem group by product having sum(price) > 5000;

    • 统计每类商品花费的总金额在5000元以上的商品.png
  • 按商品名称总计,总计每类货品资消花销的总金额在5000元之上的货色,并且依据总金额升序排序

    • select product,sum(price) from orderitem group by product having sum(price) > 5000 order by sum(price) asc;

    -

    分分快三全天计划网站 29

    同期根据总金额升序排序.png

  • 总结
    • S(select)… F(from)…W(where)…G(group by)…H(having)…O(order by);

    * alter database 数据库名 character set 新字符集 collate 查对准绳;

1.2.2 SQL 对数据库表进行操作

  • SQL创建表
    • 语法:
      create table 表名称(字段名称 字段类型(长度) 限定,字段名称 字段类型(长度) 约束…);
      • 字段类型
      • 八个实体对应二个表,一个实体性质对应表的三个字段。
Java中的类型 MySQL中的类型
byte/short/int/long tinyint/smallint/int/bigint
float float
double double
boolean bit
char/String char和varchar类型
Date date/time/datetime/timestamp
File BLOB/TEXT

注意

  • char和varchar的区别:

    • char代表是平素长度的字符或字符串。
      • 概念类型char(8),向那么些字段存入字符串hello,那么数据库使用八个空格将其补全。
    • varchar代表的是可变长度的字符串。
      • 概念类型varchar(8),向这一个字段存入字符串hello,那么存入到数据库的正是hello。
  • datetime和timestamp区别

    • datetime就是既有日期又不经常间的日期类型,若无向那个字段中存值,数据库使用null存入到数据库中
    • timestamp也是既有日期又有的时候间的日期类型,若无向这一个字段中存值,数据库使用当前的系统时间存入到数据库中。
  • 约束

    • 自律作用:保障数据的完整性
    • 单表约束分类:
      • 主键限定:primary key 主键限制私下认可正是唯生龙活虎 非空的
      • 唯豆蔻梢头限制:unique
      • 非空限定:not null
  • 建表语句:

create database web_test1;
use web_test1;
create table user(
    id int primary key auto_increment,
    username varchar(20) unique,
    password varchar(20) not null,
    age int,
    birthday date
);
  • SQL 查看表

    • 查阅某些数据库下的有所的表

      • 语法:show tables;

      • 分分快三全天计划网站 30

        翻开全体的表.png

  • 查阅某些表的结构新闻

    • 语法:desc 表名;

    • 分分快三全天计划网站 31

      翻看表布局.png

  • SQL 删除表

    • 删除表

      • 语法:drop table 表名;

      • 分分快三全天计划网站 32

        删除表.png

  • SQL 修改表

    • 修改表:添加列

      • alter table 表名 add 列名 类型(长度) 约束;

      • 分分快三全天计划网站 33

        添加列.png

    • 修正表:改革列类型,长度和束缚

      • alter table 表名 modify 列名 类型(长度) 约束;

      • 分分快三全天计划网站 34

        修改列.png

    • 修改表:删除列

      - alter table 表名 drop 列名;

      ![](https://upload-images.jianshu.io/upload_images/7034348-c5ccc69623693959.png)
      
      删除列.png
      
    • 改良表:纠正列名称

      - alter table 表名 change 旧列名 新列名 类型(长度) 约束;

      ![](https://upload-images.jianshu.io/upload_images/7034348-f122208c9c2c856b.png)
      
      修改列名称.png
      
    • 改正表:改良表名

      - rename table 表名 to 新的表名

      ![](https://upload-images.jianshu.io/upload_images/7034348-9652d0c404a42714.png)
      
      修改表名.png
      
    • 改革表:改善表的字符集

      - alter table 表名 character set 字符集;

      ![](https://upload-images.jianshu.io/upload_images/7034348-3ad8d2c6e4cca5ca.png)
      
      修改字符集.png
      

* drop table 表名;

1.1.1 什么是SQL

  SQL(聆听i/ˈɛs kjuː ˈɛl/,[4] or 聆听i/ˈsiːkwəl/;[5]结构化查询语言[6][7][8][9]卡塔尔国是风度翩翩种特定指标程序语言,用于管理关周全据库管理种类(君越DBMS卡塔 尔(阿拉伯语:قطر‎,或在关乎流多少管理连串(福特ExplorerDSMS卡塔 尔(英语:State of Qatar)中举行流处理。

  SQL基于关系代数和元组关系演算,包含三个多少定义语言和数目操纵语言。SQL的限量包罗数据插入、查询、更新和删除,数据库方式开创和修正,以至数额访谈调整。就算SQL日常被描述为,并且超级大程度上是风流倜傥种申明式编制程序(4GL卡塔 尔(阿拉伯语:قطر‎,可是其也暗含进度式编制程序的因素。

  SQL是对Edgar·科德的涉嫌模型的首先个商业化语言实现,这一模型在其一九六八年的生龙活虎篇具备影响力的舆论《一个对此大型分享型数据库的关联模型》[10]中被描述。即使SQL并不是全盘根据科德的涉嫌模型设计,但其还是成为极端普及使用的数据库语言。 [11][12]

  SQL在壹玖捌玖年产生United States国标学会(ANSI卡塔 尔(英语:State of Qatar)的风流倜傥项专门的学业,在一九八四年变为国标化组织(ISO卡塔 尔(英语:State of Qatar)规范。[13]在这里之后,那风度翩翩专门的学业通过了生龙活虎七种的增订,参预了一大波新特点。就算有那一正规的留存,但大非常多的SQL代码在差异的数据库系统中并不抱有完全的跨平台性。

  • 摘自 wiki

* select distinct english from exam;

1.1.2 SQL的分类

  • DDL:数据定义语言
    • create,drop,alter..
  • DCL:数据调节语言
    • grant,if…
  • DML:数据垄断(monopoly卡塔 尔(英语:State of Qatar)语言
    • insert,update,delete…
  • DQL:数据查询语言
    • select

***** Oralce使用CLOB/BLOB

1.2 使用SQL

* insert into 表名 (列名,列名,...) values (值1,值2,...);     ---插入钦定列的值

1.1 SQL的概念

【删除数据库】

1.3.1 SQL对数码库表的记录进行操作(注重卡塔 尔(阿拉伯语:قطر‎

  • SQL增加表的笔录
    • 语法:
      • 向表中插入某个列:insert into 表名 (列名1,列名2,列名3…) values (值1,值2,值3…)
      • 向表中插入全数列:insert into 表名 values (值1,值2,值3…);
    • 注意事项
      • 值的连串与数据库中表列的种类后生可畏致。
      • 值的逐生龙活虎与数据库中表列的逐风姿洒脱黄金时代致。
      • 值的最大尺寸不可能超越列设置最大尺寸。
      • 值的品类是字符串也许是日期类型,使用单引号引起来。
  • 加上记录

    • 增添某几列
      insert into user (id,username,password) values (null,'aaa','123');

    • 分分快三全天计划网站 35

      布置某几列.png

    • 累计所有列
      insert into user values (null,'bbb','123',23,'1993-09-01');

    • 分分快三全天计划网站 36

      增进全部列.png

    • 丰富粤语记录
      insert into user values (null,'张三','123',23,'1993-09-01');

    • 分分快三全天计划网站 37

      累积华语记录.png

      • 现身谬误
      • 解决方法:
        • show variables like '%character%';
        • 翻开数据库中与字符集相关参数:
          急需将MySQL数据库服务器中的顾客端部分的字符集改为gbk。
          找到MySQL的装置路线:my.ini文件,订正文件中[client]下的字符集* - 重新启航MySQL的服务器
          services.msc

* alter table 表名character set 字符集;

1.2.1 SQL对数据库举办操作

  • 创设数据库

    • 语法:
      create database 数据库名称 [character set 字符集 collate 字符集查对准则];

    • 分分快三全天计划网站 38

      创设数量库.png

  • 查看数据库

    • 语法:
      翻看数据库服务器中兼有的数据库:show databases;

    • 分分快三全天计划网站 39

      翻开数据库.png

    • 查阅有个别数据库的定义音信: show create database 数据库名称;

    • 分分快三全天计划网站 40

      翻看有个别数据库.png

  • 纠正数据库

    • 语法:
      alter database 数据库名称 character set 字符集 collate 核对准则;

    • 分分快三全天计划网站 41

      矫正数据库.png

  • 删除数据库

    • 语法:drop database 数据库名称;

    • 分分快三全天计划网站 42

      删去数据库.png

  • 切换数据库:use 数据库名称;
  • 分分快三全天计划网站 43

    切换数据库.png

 

insert into exam values (null,'张三',85,74,91);

* 查看数据库服务器中颇负的数据库:

【插入记录】

* alter table 表名 change 旧列名 新列名 类型(长度) 约束;

  • group by

 

 Date                   date/time/datetime/timestamp

    * update employee set email = 'aaa@163.com' where ename = 'aaa';

* rename table 旧表名 to 新表名;

);

                        * datetime和timestamp都以既有日期又有的时候间的日期类型

    * select * from exam order by chinese;

  • 询问李四的学员成绩:

制造贰个订单详细情形的表:

  • sum()
  • count()
  • max()
  • min()
  • avg()

【删除记录】

  • 突显此人的名称和对应总成绩的分数:
  • 询问那一个班级人的人名和保加波德戈里察语成绩:
  • 注意事项:

                            * 分化?char是固定长度的字符串,varchar可变长度的字符串.

* 查询姓李的学习者的新闻,同有时候依据波兰语升序排序.

* 列的类型与值的类型对应.地点也要对应.

* 非空节制:not null

* 列名和值类型也要一致.

    *  create database db2 character set gbk;

  • where语句前面能够加:

* desc 表名;

    * SELECT product,COUNT(*) FROM orderitem GROUP BY product;

 boolean            bit

  • 练习:

* 订正employee表将name为bbb的信箱改为bbb@163.com同时修正job为HPRADO

  • 改良表的列名

* show tables;

    * select name,(english chinese math) from exam;

* 若无法则删除表中的持有列.

select name,english chinese math from exam;

  • 语法:

* update 表 set 列名=值,列名=值 [where 条件];

语法:

 

  • 表的删除:

insert into exam values (null,'赵六',75,79,76);

* select [distinct] *|列名 from 表 [where 条件];

    * show create database 数据库名;

* 创设一个暗含字符集的数据库db2;

* 计算订单中的每类物品所选购的个数:

* 区别:

* 主键约束:primary key (私下认可正是唯生龙活虎非空的)

  • 语法:

* 值是字符串或日期,须要选取单引号.

    * update employee set email = 'bbb@163.com' , job='HR' where ename='bbb';

insert into exam values (null,'王五',85,84,59);

语法:

    * show databases;

【排序查询】

* like ‘张%’;  like ‘张_’; like ‘%明’; like ‘%明%’;

  • 约束:

and or not

in 后随着生龙活虎组值.

* 唯一限制:unique

【基本查询】

    * select * from exam order by chinese desc;

    * create database db3 character set utf8 collate  utf8_bin;

* alter table 表名 add 列名 类型(长度) 约束;

* select * from exam;

    * alter table employee change image eimage varchar(60);

  byte/short/int/long   tinyint/smallint/int/bigint

【纠正数据库】

  • 改过表名
  • 注意事项:

    * select avg(english) from exam;

    * delete from employee;

  • 将培养 10分举办展示:

    * alter table user character set gbk;

= , > , >= , <, <= , <>

select name ,english 10,chinese 10 ,math 10 from exam;

* 查询各样学子总战绩:

【切换数据库】

    * SELECT product,SUM(price) FROM orderitem WHERE product LIKE '电%' GROUP BY product HAVING SUM(price) > 1500 ORDER BY SUM(price) DESC;

  • 改革表的字符集:

【表的查阅】

【创设数据库】

  • 练习:

* id in (1,2,3)

  • 注意事项:

    * SELECT product,SUM(price) FROM orderitem GROUP BY product HAVING SUM(price) > 2000;

        * 事务管理只好效能在DML语句上.假使再三个政工中央银行使delete删除全数记录,能够找回.

    * create database db1;

    * select sum(english) sum(chinese) sum(math) from exam;

* 删除表中的后生可畏行记录,无法去除某列值

  String                char/varchar

* alter table 表名 modify 列名 类型(长度) 约束;

语法:

* 查询学子的新闻,依据俄语成绩降序排序,假诺爱沙尼亚语战绩同样,遵照语文降序.

 

    * SELECT product,SUM(price) FROM orderitem GROUP BY product;

* 值不能够赶过列的最大长度.

【查看数据库】

    字段名 类型(长度) 约束,

    id int primary key auto_increment,

  • 数据类型:

【表的改革】

* 创制贰个包蕴字符集和查对法则的数据库db3;

* 删除id为8的记录:

 float                  float

语法:

    * alter table employee add image varchar(50);

    job varchar(20),

【校订记录】

  • 查询语句:

单表约束:

    * select * from exam where name like '李%' order by english asc;

 

  • 创制多个表:
  • ***** 创造表早前先选取数据库:use 某些数据库;

* 查看某些数据库的概念消息.

* 查看当前正值使用的数据库音信.

* 删除数据库:

  • 改正表增多列:

 

  • 询问俄文成绩,将重新法语战表去掉:

 

    math    int

* 列名的个数与值的个数对应.

  • 查询全数记录:

    * alter table employee drop job;

  • 运用as起别称,as能够省略.

【SQL的查询语句的下结论】

    * select count(*) from exam;

                            * char(8) 和 varchar(8)

【分组】

 

    eid int primary key auto_increment,

);

【聚合函数】

  • order by 对数据开展排序.私下认可升序. (asc升序,desc降序卡塔尔国

    * select min(chinese) from exam;

    * alter table employee modify image varchar(80) not null;

    * rename table employee to user;

* use 数据库名称;

  • 语法:

like中能够使用占位符: _ 和 %  :下划线匹配二个字符, %:可以宽容大肆多少个字符.

* 总计全体学子的总分:

* create table 表名 (

);

    * truncate table 删除表的笔录:将总体表删除掉,重新成立贰个新的表.truncate归属DDL.

 二级制文件               BLOB

基准的机要字:

    ename varchar(20) not null,

    * select * from exam order by english desc, chinese desc;

  • 语法

    birthday date,

    * select max(english) from exam;

    * delete from employee where eid = 8;

insert into exam values (null,'李四',95,90,83);

 

* 改良数据库改良的是的数据库的字符集和校对准绳.

* 总括订单中名称有电子的货色况兼所花金额超过1500并且依照价钱降序排序:

顺序:    s...f...w...g...h...o...;

select * from exam where name='李四';

select * from exam where name='李四' and english >90;

    english int,

* select name,english from exam;

  • 翻看数据库中有哪些表:

语法:

* Java类型:             MySQL:

  • 查看表构造:

insert into exam values (null,'田七',69,63,98);

    字段名 类型(长度) 约束,

create table employee(

* 创建db1;

  • 改善表删除列:

* 计算订单中的每类货色所花总金额当先二〇〇三音信.

* 列的档期的顺序若是是字符串或许日期,写值的时候使用单引号将值引起来.

练习:

 

* 总计葡萄牙共和国语成绩平均分:

【表的删减】

  • 准备:

* delete from 表 [where 条件];

    email varchar(30) unique,

    name varchar(20),

* create database 数据库名称 [character set 字符集 collate 字符集查对];

    * select sum(english chinese math) from exam;   -- ifnull(english,0)

* 修正employee表将name为aaa的信箱改为aaa@163.com

    字段名 类型(长度) 约束

 

  • 去除表中的持有记录truncate table 表名  和 delete from 表  差异?

* alter table 表名 drop 列名;

【创建表】

 文本文件                Text

* 插入的值的最大尺寸不能够胜过列的最大长度.

* 改正employee表中兼有记录的job为WOEnclaveKECRUISER

  • 询问名称为李四何况立陶宛(Lithuania卡塔尔国语成绩超乎90的

* 删除全数记录:

* 查询全体学员的音信,并且按语文成绩进行排序.

* 总计订单中的每类商品所花的金额:

    * delete from 删除表的记录:一条一条进行删除. delete归于DML。

 

 

 

* 总括学子的个数:

    chinese int,

* 计算语文成绩的最低分:

insert into exam values (null,'李四',89,90,83);

    * update employee set job='WORKER';

    * select database();

***** MYSQL中除了字符串类型供给设置长度其余的品类都有默许长度.

select name , english chinese math as sum from exam;

                                * 倘若插入一个字符串hello 插入到char 那么 插入hello   .插入到varchar中 插入hello

* insert into 表名 values (值1,值2,...);                    ---插入全数列的值

create table exam(

    * drop database 数据库名;

  • 校勘表的列的品种长度及节制:

 

* 总括克罗地亚语战表的最高分:

 

【条件查询】

* 查询全数学员的音信,况且按语文成绩举办降序排序.

    resume text

                            * 不一样? datetime要求采用外界传入的日期.如果没传那些值便是Null. timestamp会利用系统当下的时间作为这一个值的暗中同意值.

本文由分分快三计划发布,转载请注明来源

关键词: 分分快三计划 mysql增删改查