MySQL单表

SQL的概述

什么是SQL,下面是百度百科的介绍。
在这里插入图片描述
SQL的分类:
DDL:数据定义语言 (Database Definition Language)
create,drop,alter…

DCL:数据控制语言 (Database Controler Language)
grant,if…

DML:数据操纵语言 (Database Manipulate Language)
insert,update,delete…

DQL:数据查询语言 (Database Query Language)
select

SQL对数据库进行操作

创建数据库

语法:

create database 数据库名称 [character set 字符集 collate 字符集校对规则];

在这里插入图片描述
查看数据库

语法:

 查看服务器所有的数据库:show databases;

在这里插入图片描述

查看某个数据库的定义信息:

show create database 数据库名称;

在这里插入图片描述
修改数据库

语法:

alter database 数据库名称    character set 字符集 collate 校对规则;

在这里插入图片描述
删除数据库

语法:

drop database 数据库名称;

在这里插入图片描述
其他数据库操作

* 切换数据库:
    use 数据库名称; 
* 查看当前正在使用的数据库:
    select database();

SQL对数据库表进行操作

SQL创建表

* 语法:
* create table 表名称(字段名称 字段类型(长度) 约束,字段名称 字段类型(长度) 约束…);
* 字段类型
* 一个实体对应一个表,一个实体属性对应表的一个字段。

类型比较
Java中的类型

  • byte/short/int/long
  • float
  • double
  • boolean
  • char/String
  • Date
  • File
    MySQL中的类型
  • tinyint/smallint/int/bigint (tiny:极小的)
  • float
  • double
  • bit (用一位bit来表示)
  • char和varchar类型
  • date/time/datetime/timestamp
  • BLOB/TEXT (BLOB:binary large language 二进制大对象)

char和varchar的区别:

  • char代表是固定长度的字符或字符串。
  • 定义类型char(8),向这个字段存入字符串hello,那么数据库使用三个空格将其补全。
  • varchar代表的是可变长度的字符串。
  • 定义类型varchar(8), 向这个字段存入字符串hello,那么存入到数据库的就是hello。

datetime和timestamp区别

  • datetime就是既有日期又有时间的日期类型,如果没有向这个字段中存值,数据库使用null存入到数据库中
  • timestamp也是既有日期又有时间的日期类型,如果没有向这个字段中存值,数据库使用当前的系统时间存入到数据库中。

约束

  • 约束作用:保证数据的完整性
  • 单表约束分类:
    • 主键约束:primary key 主键约束默认就是唯一 非空的
    • 唯一约束:unique
    • 非空约束:not null

SQL查看表

  • 查看某个数据库下的所有的表

    • 语法:show tables;
  • 查看某个表的结构信息

    • 语法:desc 表名;
      在这里插入图片描述
      SQL删除表

      • 删除表
        • 语法:drop table 表名;

SQL修改表

  • 修改表:添加列
    • alter table 表名 add 列名 类型(长度) 约束;
      在这里插入图片描述
    • 修改表:修改列类型,长度和约束
      • alter table 表名 modify 列名 类型(长度) 约束;
        在这里插入图片描述
    • 修改表:删除列
      • alter table 表名 drop 列名;
        在这里插入图片描述
    • 修改表:修改列名称
      • alter table 表名 change 旧列名 新列名 类型(长度) 约束;
        在这里插入图片描述
    • 修改表:修改表名
      • rename table 表名 to 新的表名;
        在这里插入图片描述
    • 修改表:修改表的字符集
      • alter table 表名 character set 字符集;
        在这里插入图片描述

SQL对数据库表的记录进行操作(重点)

SQL添加表的记录

  • 语法:
    • 向表中插入某些列:insert into 表名 (列名1,列名2,列名3…) values (值1,值2,值3…)
    • 向表中插入所有列:insert into 表名 values (值1,值2,值3…);
  • 注意事项
    • 1.值的类型与数据库中表列的类型一致。
    • 2.值的顺序与数据库中表列的顺序一致。
    • 3.值的最大长度不能超过列设置最大长度。
    • 4.值的类型是字符串或者是日期类型,使用单引号引起来。

添加记录

  • 添加某几列
insert into user (id,username,password) values (null,'aaa','123');
  • 添加所有列
 insert into user values (null,'bbb','123',23,'1993-09-01');
  • 添加中文记录
insert into user values (null,'张三','123',23,'1993-09-01');

在这里插入图片描述

注意:

直接向数据库中插入中文记录会出现错误!!!
解决方法:
show variables like '%character%';  --查看数据库中与字符集相关参数:
需要将MySQL数据库服务器中的客户端部分的字符集改为gbk。
找到MySQL的安装路径:my.ini文件,修改文件中[client]下的字符集

在这里插入图片描述

  • 重新启动MySQL的服务器

     services.msc
    

SQL修改表的记录

  • 语法:

    • update 表名 set 列名=值,列名=值 [where 条件];
  • 注意事项

    • 1.值的类型与列的类型一致。
    • 2.值的最大长度不能超过列设置的最大长度。
    • 3.字符串类型和日期类型添加单引号。
  • 修改某一列的所有值

update user set password = 'abc';
  • 按条件修改数据
update user set password = 'xyz' where username = 'bbb';
  • 按条件修改多个列
update user set password='123',age=34 where username='aaa';

SQL删除表的记录

  • 语法:

    • delete from 表名 [where 条件];
  • 注意事项

    • 1.删除表的记录,指的是删除表中的一行记录。
    • 2.删除如果没有条件,默认是删除表中的所有记录。
  • 删除某一条记录

delete from user where id = 2;
  • 删除表中的所有记录
delete from user;
  • 删除表中的记录有两种做法:
  • delete from user;
    • 删除所有记录,属于DML语句,一条记录一条记录删除。事务可以作用在DML语句上的
  • truncate table user;
    • 删除所有记录,属于DDL语句,将表删除,然后重新创建一个结构一样的表。事务不能控制DDL
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值