MySQL (1) DDL,DML

操作须知

        ※ MySQL在windows环境不区分大小写,但在Linux环境严格区分大小写

        ※ 不同的数据库可能存在同名的表,可以给表前加"数据库前缀"    //例:aaa.user表示aaa数据库下的user表,bbb.user表示bbb数据库下的user表

        ※ 如果表名字段名是关键字,要写在反引号``

        ※ 字段的(除了数值类型),必须写在单引号''

         Navicat工具中使用sql语句对表结构修改后,表信息没有及时更新:右键 >> 设计表 >> (不做任何操作)保存

数据类型

数据类型对应JAVA类型说明
varchar(n)Stringn:字符串最大长度    //字符多长,就占多大空间
char(n)Stringn:字符串最大长度    //固定占据n个字符空间
dataDate

日期类型(yyyy-MM-dd)

单引号中写入:'1994-06-12''1994.06.12''19940612'

datatimeDate

日期时间类型(yyyy-MM-dd HH:mm:ss)

datetime(3)精确到毫秒;    datetime(6)精确到微秒    //MySQL5.6.4以上版本支持

tinyintbyte,Byte

tinyint(1)取值为0~9,且0表示false,1表示true

        如果以boolean接收数据库数据,有false/true2种对应值

        如果以Boolean接收数据库数据,有null/false/true3中对应值

intint,Integer
bigintlong,Long
double(m,n)double,Doublem:长度最大值    n:小数位(固定,不够用0填充)
decimal(m,n)java.math.BigDecimal

m:长度最大值    n:小数位(固定,不够用0填充)

new BigDecimal(浮点数)    //不推荐,得到的小数"带尾巴"

new BigDecimal("字符串"/整数)    //得到精确的小数

加,减,乘:bd1.add/subtract/multiply(bd2)

:bd1.divide(bd2,保留小数,BigDecimal.AAA)

        .ROUND_HALF_UP    (去除正负号)四舍五入

        .ROUND_UP    (去除正负号)舍弃位"非0进1"

        .ROUND_DOWN    (去除正负号)舍弃位"不会进位"

小数点处理:bd1.setScale(保留小数,BigDecimal.AAA)    //同上

1 DDL

        DDL(Data Definition Languages数据定义语言),操作、操作

1.1 操作库

创建库:CREATE DATABASE 库名

删除库:DROP DATABASE 库名

1.2 操作表

创建表:CREATE TABLE 表名(字段1 类型,字段2 类型......)

删除表:DROP TABLE 表名

修改表名:RENAME TABLE 旧表名 TO 新表名

1.3 操作字段(ALTER TABLE 表名)

添加字段:~ ADD 新字段 类型 约束 COMMENT '备注' AFTER 字段1   

        //新字段位置(不写(最后),FIRST(最前),AFTER(某字段之后))

删除字段:~ DROP 字段

修改字段:~ CHANGE 旧字段 新字段 类型 约束

2 DML

        DML(Data Manipulation Language数据操纵语言),操作记录

插入记录:INSERT INTO 表名 (字段1,字段2......) VALUES ('值1','值2'......),('值3','值4'......)......

更新记录:UPDATE 表名 SET 字段1='值1',字段2='值2'......WHERE 字段='值'

无就插入,有就更新:INSERT INTO 表名(字段1,字段2......)VALUES('值1','值2'......)ON DUPLICATE KEY UPDATE 字段x='值x',字段y='值y'......   

        //依次(从左往右)以'值1','值2'...中的UNIQUE字段去单条件查询

                //如果有记录,对于查询到的所有记录进行UPDATE(值x,值y......)

                //如果无记录,就INSERT(值1,值2)

 先批量删除,再插入:REPLACE INTO 表名(字段1,字段2......)VALUES('值1','值2'......)   

        //依次(从左往右)以'值1','值2'...中的UNIQUE字段去单条件查询,将查询到的所有记录都删除,插入一条全新记录

删除记录:DELETE FROM 表名 WHERE 字段='值'

        DELETE FROM 表名   //删除表,自增数据保留

        TRUNCATE TABLE 表名  //摧毁表然后新建一张同名表,自增从1开始

3 DQL(见下章)

        DQL(Data Query Language数据查询语言),查询数据

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值