• 修改表增添列:

*******应用SQL操作数据库中的表的记录(对表的记录的CRUD的操作)******

【插入记录】

  • 语法

* insert into 表名 (列名,列名,…) values (值一,值二,…);    
—插入钦赐列的值

* insert into 表名 values (值一,值二,…);                   
—插入全体列的值

 

  • 注意事项:

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

* 列的档案的次序与值的等级次序对应.地点也要对应.

* 列的门类假若是字符串也许日期,写值的时候利用单引号将值引起来.

* 安排的值的最大尺寸不可能赶过列的最大长度.

【修改记录】

  • 语法:

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

  • 注意事项:

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

* 值不可能赶上列的最大长度.

* 值是字符串或日期,必要运用单引号.

  • 练习:

* 修改employee表中保有记录的job为WOLacrosseKEQX56

    * update employee set job=’WORKER’;

*
修改employee表将name为aaa的邮箱改为[email protected]

    * update employee set email =
‘[email protected]’
where ename = ‘aaa’;

*
修改employee表将name为bbb的邮箱改为[email protected]再者修改job为H奥迪Q叁

    * update employee set email =
‘[email protected]’
, job=’HR’ where ename=’bbb’;

【删除记录】

  • 语法:

* delete from 表 [where 条件];

  • 注意事项:

* 除去表中的一行记录,不能去除某列值

* 倘使未有原则删除表中的有所列.

  • 练习:

* 删除id为8的记录:

    * delete from employee where eid = 8;

* 剔除全体记录:

    * delete from employee;

  • 删除表中的全部记录truncate table 表名  和 delete from
    表  区别?

* 区别:

    * truncate table
删除表的记录:将1切表删除掉,重新创制二个新的表.truncate属于DDL.

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

        * 事务管理
只好成效在DML语句上.如若再贰个事务中央银行使delete删除全部记录,能够找回.

【基本查询】

  • 查询语句:

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

【条件查询】

  • where语句前边能够加:

条件的首要性字:

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

like中能够使用占位符: _ 和 %  :下划线相配贰个字符,
%:能够配合大四七个字符.

【排序查询】

`order by 对数码开始展览排序.暗中同意升序. (asc升序,desc降序)

【聚合函数】

`sum()   求和

`count()  统计

`max()  最大值

`min()  最小值

`avg() 平均数

【分组】

  group by

* 接力连接

    * select * from A,B;   — 获得的是五个表的笛Carl积.

* 内连接: inner join — inner 能够简轻便单

    * 显式内接连:select *4503.com, from A inner join B on 条件;

    * 隐式内接连:select * from A,B where 条件;

* 外连接:outer join — outer 能够大概

    * 左外连接:left outer join  — select * from A left outer join B
on 条件;

    * 右外接连:right outer join — select * from A right outer join B
on 条件;

多表查询的子查询

  • 一个SQL语句询问的进度中要求借助另1个查询语句.

SELECT * FROM customer c,orders o WHERE c.cid = o.cid AND  c.cid IN
(SELECT cid FROM orders WHERE addr LIKE ‘海淀%’);

 

Mysql概述
MySql是一种关系型数据库 连接到mysql数据库:mysql -u root -p
什么是SQL:结构化的查询语句 SQL分类:…

* rename table 旧表名 to 新表名;

MySql基础知识总计,mysql基础知识

Mysql概述

MySql是1种关系型数据库

连接到mysql数据库:mysql -u root -p

怎么着是SQL:结构化的查询语句

SQL分类:

  DDL:数据定义语言

   * create,alter,drop…

  DML:数据操纵语言

    * update,insert,delete

  DCL:数据调节语言

    * grant,if..

  DQL:数据查询语言

    * select

数据库增加和删除查改

创制数据库:语法:create database 数据库 [character 字符集 collate
核查规则]

翻开数据库:

  查看全部数据库:show databases;

  查看某些数据库:show create database 数据库名;

修改数据库:语法:alter database 数据库名 character 字符集 collate
核对规则

除去数据库:语法:drop database 数据库名;

切换数据库:use 数据库名;

查看当前应用数据库:select database();

数量库表操作

创设表语法:

  create table 表名 (

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

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

      字段名 类型(长度) 约束

  );

数据类型:

 Java类型:             MySQL:

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

  String                char/varchar

                            *
分裂?char是原则性长度的字符串,varchar可变长度的字符串.

                            * char(8) 和 varchar(8)

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

 float                  float

 double                 double

 boolean            bit

 Date                   date/time/datetime/timestamp

                        *
datetime和timestamp都是既有日期又有时光的日子类型

                            * 差别?
datetime供给采取外部传入的日期.假诺没传这一个值就是Null.
timestamp会采取系统当下的命宫作为这几个值的私下认可值.

 文本文件                Text

 二级制文件               BLOB

***** Oralce使用CLOB/BLOB

*****
MYSQL中除去字符串类型须求安装长度别的的花色都有暗中同意长度******

  • 约束:

单表约束:

* 主键约束:primary key (私下认可便是唯一非空的)

* 唯一约束:unique

* 非空约束:not null

 

  • 创制四个表:
  • ***** 创立表此前先选择数据库:use 某些数据库;

create table employee(

    eid int primary key auto_increment,

    ename varchar(20) not null,

    email varchar(30) unique,

    birthday date,

    job varchar(20),

    resume text

);

【表的查看】

  • 查看数据库中有何样表:

* show tables;

  • 查看表结构:

* desc 表名;

【表的去除】

  • 表的删除:

 drop table 表名;

【表的改变】

  • 修改表增加列:

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

    * alter table employee add image varchar(50);

  • 修改表删除列:

* alter table 表名 drop 列名;

    * alter table employee drop job;

  • 修改表的列的等级次序长度及约束:

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

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

  • 修改表的列名

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

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

  • 修改表名

* rename table 旧表名 to 新表名;

    * rename table employee to user;

  • 修改表的字符集:

* alter table 表名character set 字符集;

    * alter table user character set gbk;

查阅当前使用数据库:select database();

【表的改换】

* 唯壹约束:unique

 文本文件                Text

***** Oralce使用CLOB/BLOB

  DML:数据操纵语言

SQL分类:

    * rename table employee to user;

  • 查看表结构:

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

    ename varchar(20) not null,

    * select

  • 表的删减:
  • 修改表的列的项目长度及约束:

                        *
datetime和timestamp都是既有日期又有时光的日子类型

    * grant,if..

  • 修改表名

 Java类型:             MySQL:

  );

      字段名 类型(长度) 约束

  查看有些数据库:show create database 数据库名;

                            *
不一致?char是定点长度的字符串,varchar可变长度的字符串.

    birthday date,

   * create,alter,drop…

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

 drop table 表名;

*****
MYSQL中除去字符串类型要求安装长度别的的体系都有暗许长度******

  • 查阅数据库中有哪些表:

* 主键约束:primary key (暗中同意就是举世无双非空的)

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

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

    * alter table employee drop job;

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

    eid int primary key auto_increment,

切换数据库:use 数据库名;

    * alter table employee add image varchar(50);

    resume text

  • 修改表的列名

Mysql概述

);

    * alter table user character set gbk;

  DCL:数据调节语言

开创表语法: