mysql简单使用增删改查

修改配置文件

在my.in配置文件
找到client  指的是mysql客户端  port3306
default -charachter-set=utf-8
default -charachter-set=utf8

basedir 和datadir 存储路劲

下面有有个服务器的字符编码 修改为utf8不是utf-8

default -charachter-set=utf8

数据类型: 

整形:
tinyint    1个字节  有符号和无法存储范围 分别为 -128~128  ,0~255
smallint 2个字节
mediumint   3个字节
int 4个字节
bigint 8个字节

浮点型:
float
double

时间存储:
year:
time:
date:
datetime:
timestamp:

定长类型:  1个字节8位 最大 8个11111111 =255  ,
char(5):  abc三个字符,后面会补充两个空格
vchar(5)  abc 值存三个字符  0~65535
tinytext
text                      1~2(16)
mediumtext       1~2(24)
lingtext               1~2(32)
enum
set  最多存储64个字符

数据表的操作
float (8,2)表示总格有8位,小数点后有两位,小数点前有6位
create table tb_name(username varchar(20), age tinyint unsgined, salary float(8,2));

查询数据表是否存在
show tables;

show tables from mysql;  查看mysql中所有列表

查询表结构:
show  columns from username;

写入记录:
insert intousername(username) values(‘zhangsan’);

查找记录是否存在:
select * from username;

空值与非空:
数据唯一性: auto_increment   自动编号必须是主键
create tb_user(sid smallint not null auto_crement primary key, username vchar(20));

前面介绍了 主键约束,还有一种 默认约束:
create tb_username(sid smallint not null auto_increment primary key,name vchar(20),age enum(‘20‘,‘30‘) default ‘30‘);

约束: 保证数据的完整性和一致性:
约束有分为表约束,列约束
约束类型  非空 主键 唯一 默认 外键约束

mysql创建外键约束  :
条件 父表和子类   必须有相同引擎 InnoDB 不能用临时表  字符必须相同,长度可以不同

外键列和参照列必须创建索引  ,如果外键没有不存在,mysql会自动创建索引

编辑数据表的默认存储引擎
mysql、配置文件

default-storage-engine=INNODB

创建表
字表 pid smallint, foreign key(pid) reference ‘父表‘ (id)

外键越苏的参照操作:
cascade: 附表删除或者更新且自动删除或者更新的时候 ,子表也跟着改变

set null: 父表更改,子表设置为空

restrict:拒绝对父表的删除或者更新操作

no action:标准sql的关键字,在mysql与restrict相同

例子演示子表的设置权限:

create user2(sid smallint not null primary key auto_increment,username vchar(20), pid smallint unsgined, foreign key (pid) preference db_username(id) on delete  cascade);

查看数据表命令:
show create table user1;

表级约束列约束

添加单列

alter table user1 add age tinyint unsigned not null default 10;

alter table user1 add age2 tinyint unsigned not null default 10 after age;  新添加的列在age列之后,first之前插入

添加多列 单列的不需要添加括号

查看表的结构: show columns from user1;

删除字段: alter table  user1 drop ags;
删除多个字段 alter table user1 drop age1,drop age1;  也可以新增一列 add就添加一列

修改表添加主键约束
alter table user1 add constraint PK_user1_id primary key (id);

alter table user1 add constraint PK_user1_id primary key (id);

添加唯一约束:
alter table user1 add unique (id);

show create table user1;  查看表

添加外键约束:
alter table user1 add foreign key (id) reference db_username(id);

修改字段
alter table user1 age set defalue 15;

删除约束:
alter table user1 drop primary key;
删除唯一约束:

查看表结构:
show indexes from user1\g

删除外键约束;

插入默认值
insert into user1 values(‘zhangsan‘,default);

插入多条数据:
insert into user1 values(‘zhangsan‘,default) ,(‘null‘,29);

插入数据set演示
insert user1 set username=‘ben‘, password =‘123‘;

插入数据select的演示

更新数据 有单表和多表
update user1 set age=5

uodate user1 set age=age-sid,sex=0

更行所有偶数的行数据
uodate user1 set age=age-sid,sex=0 where sid%2=0;

查询语句:
group by 分组
select * from group by 1  1代表着字段的位置  一般直接指定名称

having  一部分做分组  相当于where  ,
需要保证分组的条件是聚合函数  max min avg count   或者hvaing的条件字段必须在select 字段中

例子:
错误演示:
select sname from tb_user group by 1 having age >3;  age 不咋select 查询字段中,所以是错误
正确演示:
select sname,age from tb_user group by 1 having age >3;  这个时候后是包含了age 所以正确

或者使用函数

select sname from tb_user group by 1 having count(id)>=2;  这个也是正确的

排序查询:
select * from user order by id desc;

select * from user order by id,age desc;

limit 的使用

select * from user order by id desc limit 2,2;  第一个2代表着第三条数据开始查询(0,1,2), 第二个2代表

着显示两条数据

插入数据从另一张表中获取信息

insert user2(username) select username from user1 where age>=30;

设置客户端的编码 set  name  gbk;

show columns use1\g;  查询所有字段详情信息网格

子查询  distinct group by order by limit 函数等 都可以在子查询出现

子查询的外查询可以是增删该查

avg  和round

 select  round(avg(good_price),2) from user1;

select  sname, sage from user1 where good_price>=(select  round(avg(good_price),2) from user1);

子查询 any some all修饰  all 需要符合两个  any 和some 值需要符合一个

比较运算符子查询 

not in 子查询   any =in

 !=all

例子:
创建表create table if not exists tb_user (cate_id smallint unsigned not null primary key auto_increment, cage_name varchar(20) not null);

select catefrom user1 group by cate;  查询分类

将查询到分类插入到新表数据上去

desc tb_user;查询表的结构

多表更新:
update tb_1 inner join tb_2  on tb_1name =tb_2name   set tb_1name=tb_2sid;

修改多个字段的名称和字符类型  使用change
alter table tb_1 change sname sname_id smallint not null, classname classname_id smallint not null;

外链接有 区分为左右链接
时间: 2024-09-29 08:11:29

mysql简单使用增删改查的相关文章

mysql 简单的增删改查语句

增加记录: 注:null关键字与auto_increment限制条件相结合,可以为字段自动赋值:字段必须全,且一一对应:字符型用单引号: 1 mysql> insert into test values('sunshine_habit','[email protected]' 2 -> ,1558888888,null);输出: 3 Query OK, 1 row affected (0.10 sec) 查询记录: 1 mysql> select * from test where na

MySQL 简单的增删改查

使用的是mysql-essential-5.1.55-win32.msi和Navicat for mySql 1.新增一个表 CREATE TABLE userinfo ( uuid varchar(36) NOT NULL PRIMARY KEY, username varchar(30) NOT NULL, userpassword varchar(30) NOT NULL ) 新增之后的状态 2.插入数据 INSERT INTO userinfo VALUES("1","

通过JDBC进行简单的增删改查(以MySQL为例) 目录

通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操作 (1)定义记录的类(可选) (2)连接的获取 (3)insert (4)update (5)select (6)delete 四.测试 五.代码分析 六.思考问题 前言:什么是JDBC 维基百科的简介: Java 数据库连接,(Java Database Connectivity,简称JDBC)

Java通过JDBC进行简单的增删改查(以MySQL为例)

Java通过JDBC进行简单的增删改查(以MySQL为例) 目录: 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操作   (1)定义记录的类(可选) (2)连接的获取 (3)insert (4)update (5)select (6)delete 四.测试 五.代码分析 六.思考问题 前言:什么是JDBC 维基百科的简介: Java 数据库连接,(Java Database Connectivity,

myeclipse中JDBC连接mysql和简单的增删改查

废话不多说,直接上操作图,操作起来理解会更彻底 1.myeclipse中项目结构,先在web-inf-lib下导入jar包,注意Web App Libraries这个目录,下面会有用到的地方 2.连接语句 package utils; import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql

使用JDBC分别利用Statement和PreparedStatement来对MySQL数据库进行简单的增删改查以及SQL注入的原理

一.MySQL数据库的下载及安装 https://www.mysql.com/ 点击DOWNLOADS,拉到页面底部,找到MySQL Community(GPL)Downloads,点击 选择下图中的MySQL Community Server 选择想要的版本进行下载 之后的步骤,因为本人已经安装过MySQL数据库,而卸载重装会比较麻烦,卸载不干净会导致新的装不上,所以可以参考下面的博客,因为官网的改动,前面的部分已经与该博客不符,按照本人在上面的介绍寻找即可 https://blog.csdn

java jdbc 连接mysql数据库 实现增删改查

好久没有写博文了,写个简单的东西热热身,分享给大家. jdbc相信大家都不陌生,只要是个搞java的,最初接触j2ee的时候都是要学习这么个东西的,谁叫程序得和数据库打交道呢!而jdbc就是和数据库打交道非常基础的一个知识,也是比较接近底层的,在实际的工作中大家用得更多的其实还是比较成熟的框架,例如Hibernate.Mybatis. 但是作为这些成熟框架的底层的jdbc却也是我们应该去掌握的,只有了解了jdbc的增删改查,这样在以后如果有兴趣去研究Hibernate或者Mybatis的源代码的

通过JDBC进行简单的增删改查

通过JDBC进行简单的增删改查(以MySQL为例) 目录 前言:什么是JDBC 一.准备工作(一):MySQL安装配置和基础学习 二.准备工作(二):下载数据库对应的jar包并导入 三.JDBC基本操作 (1)定义记录的类(可选) (2)连接的获取 (3)insert (4)update (5)select (6)delete 四.测试 五.代码分析 六.思考问题 前言:什么是JDBC 维基百科的简介: Java 数据库连接,(Java Database Connectivity,简称JDBC)

MyBatis学习--简单的增删改查

jdbc程序 在学习MyBatis的时候先简单了解下JDBC编程的方式,我们以一个简单的查询为例,使用JDBC编程,如下: 1 Public static void main(String[] args) { 2 Connection connection = null; 3 PreparedStatement preparedStatement = null; 4 ResultSet resultSet = null; 5 6 try { 7 //加载数据库驱动 8 Class.forName