mysql的单表操作

对数据库的操作

创建数据库

基础语法create database 数据库名 [character set 字符集] [collate 校对规则]

查看数据库

查看数据库服务器中所有的数据库show databases;
查看某个数据库的定义信息show create database 数据库名

删除数据库

基础语法drop database 数据库名

修改数据库

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

其他的数据库操作指令

切换数据库 use
查看正在使用的数据库select database()

数据库中表的操作

创建表语句

create table 表名(
字段名 类型(长度) 约束,
字段名 类型(长度) 约束
);

MySQL与Java数据类型的比较

Java mysql
int int
float float
double double
char char(固定长度字符串)
string string(可变长度字符串)
Date date,time,datetime,timestamp

单表约束

主键约束:primary key
唯一约束:unique
非空约束:not null

创建表的例子

创建一个分类表要求如下:
分类ID int类型主键 自动增长
分类名称 字符串类型 长度20
代码:

create table category(
    cid int primary key auto_increment,
    cname varchar(20)
);

查看表

查看数据库中的所有表:

show tables;

查看表结构:

desc 表名;

删除表

删除表语句:

drop table 表名;

修改表

添加列

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

修改列的长度和约束

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

修改列名

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

删除列

alter table 表名 drop 列名;     

修改表名

rename table 表名 to 新表明;     

修改表的字符集

alter table 表名 character set 字符集;   

对记录的操作

插入记录

插入记录的语法

  • insert into 表 (列名1,列名2,列名3..) values (值1,值2,值3..); -- 向表中插入某些列
  • insert into 表 values (值1,值2,值3..); --向表中插入所有列

注意:

  • 列名数与values后面的值的个数相等
  • 列的顺序与插入的值得顺序一致
  • 列名的类型与插入的值要一致.
  • 插入值得时候不能超过最大长度.
  • 值如果是字符串或者日期需要加’’.

修改记录

修改记录的语法

  • update 表名 set 字段名=值,字段名=值 [where 条件];

注意:

  • 列名的类型与修改的值要一致.
  • 修改值得时候不能超过最大长度.
  • 值如果是字符串或者日期需要加’’.

删除记录

删除记录语法:

  • delete from 表名 [where 条件];

删除表中所有记录使用delete from 表名; 还是用truncate table 表名;

  • 删除方式:delete 一条一条删除. 而truncate 直接将表删除,重新建表.
  • 事务控制DML,而delete属于DML.如果在一个事务中,delete数据,这些数据可以找回.truncate删除的数据找不回来.

查询记录

语法:

  • select [distinct]*[列名,列名] from 表 [where 条件].

where后的条件写法:

  • > ,<,=,>=,<=,<>
  • like 使用占位符 _ 和 % _代表一个字符 %代表任意个字符.
  • select * from product where pname like ‘%新%’;
  • in在某个范围中获得值.
  • select * from product where pid in (2,5,8);

排序查询:

  • 查询所有的商品,按价格进行排序.(asc-升序,desc-降序)

聚合函数:

  • sum()获得所有商品的价格的总和:
  • avg()获得商品表中价格的平均数:
  • max()获得商品表中价格的最大值:
  • min()获得商品表中价格的最小值:
  • count()获得商品表中有多少条记录:

分组:使用group by

注意(havingwhere的区别):

  • where对分组前的数据过滤,having对分组后的数据过滤
  • where后面不能使用聚合函数,having可以

猜你喜欢

转载自blog.csdn.net/qq_36594966/article/details/81048366