使用java连接mysql数据表

  • 时间:
  • 浏览:642
  • 来源:成都艾邦软件开发

数据表简单操作注意语句后要有分号

1、显示某个数据库中的所有表

show tables; 

2、显示数据表的结构desc 表名;
示例

desc personTable;

show columns from 表名;
示例

show columns from personTable;

3、创建数据表
1设置主键primary key唯一性create tabel 表名(字段名称 字段类型, ……);
示例

create table personTable (personID int, name varchar(20), gender varchar(10), primary key(personID)); 

或判断表是否不存在 if not exists才新建

create table if not exists personTable (personID int, name varchar(20),gender varchar(10),primary key(personID));

或某个字段自增auto_increment

create table if not exists moneyTable (moneyID int auto_increment,personID int,date varchar(10),money decimal,primary key(moneyID));

2创建临时表temporary临时表只在当前连接可见当关闭连接时Mysql会自动删除表并释放所有空间。如果你使用了其他MySQL客户端程序连接MySQL数据库服务器来创建临时表那么只有在关闭客户端程序时才会销毁临时表当然你也可以手动销毁。create temporary table 表名 (字段名称 字段类型,...);
示例

create temporary table bookTable (bookID int, bookName varchar(20),bookMoney double);

3复制表
只复制表结构没有表数据create table 新表名 like 旧表名;
示例

create table moneyTmp like moneyTable;

b复制表结构和表数据create table 新表名 select * from 旧表名;
示例

create table moneyTmp select * from moneyTable;

c复制指定表字段并改字段名称和表数据create table 新表名 as select 旧字段名 as 新字段名,... from 旧表名;
示例

create table moneyTmp as select moneyID as id,personID,date as time,money from moneyTable;

4、数据表中列的操作
1添加新列alter table 表名 add 字段名称 字段类型;
示例

alter table personTable add age int;

2删除列alter table 表名 drop 字段名称;
示例

alter table personTable drop age;

3修改列名称alter table 表名 change 修改前字段名称 修改后字段名称 修改后字段类型;
示例

alter table personTable change job gangwei varchar(20);

4修改列类型alter table 表名 modify 字段名称 修改后字段类型;
示例

alter table personTable modify name char(30);

5、删除数据表drop table 表名;
示例

drop table personTable;

6、复制表create table 新表名 like 被复制表名;
示例

create table personTmp like personTable;

7、数据简单操作
1查询数据select * from 表名 where 字段 值;
示例
查询全部

select * from personTable;

条件查询

select * from personTable where age  35;

select name,age,gender from personTable;

或某个值非空的条件

select * from personTable where schoolID is not null;

或某个值为空的条件

select * from personTable where schoolID is null;

select name,age,gender from personTable where personID1000;

select * from personTable where age30 or age35;

或like模糊匹配

select * from personTable where name like ios%;

或like模糊匹配时的并列多条件

select * from personTable where name like ios% and age35;

或升序默认升序

select * from personTable order by age asc;

或降序

select * from personTable order by age desc;

或双表查询去掉重复使用union

select schoolID from personTable union select schoolID from schoolTable;

或双表查询不去掉重复union all

select schoolID from personTable union all select schoolID from schoolTable;

或结果分组group by计算个数count(*)

select job,count(*) from personTable group by job;

或结果分组含计算个数总数

select coalesce(job,总数),count(*) from personTable group by job with rollup;

join连表查询某个值相同

select a.personID,a.name,a.gender,a.age,b.name from personTable a join schoolTable b on a.schoolIDb.schoolID;

2插入数据
ainsert into 表名 (字段1, ……) values (值1, ……);
示例

insert into personTable (personId, name, gender, age) values (1000, devZhang, male, 35);

b避免重复数据ignore需要设置primary key主键insert ignore into 表名 (字段名,...) values (值,...);
示例

insert ignore into tmpTable (name,time) values (devZhang,201806);

3更新数据update 表名 字段值,…,字段n值n where 字段值;
示例

update personTable set age  25,name  uiChen,genderfemale where personId  1001;

4删除数据delete from 表名 where 字段值;
示例

delete from personTable where age  23;

闲暇之余学习了下python。并通过python连接数据库以及简单的对数据库的操作。
先贴一段已经实现的代码我使用的版本为3.6所以安装的是pysql来实现连接的。执行pip install pymysql 即可安装。

# condingutf-8import pymysql# 连接数据库 并添加cursor游标conn  pymysql.connect(localhost,root,0000,myapp)cursor  conn.cursor()#  创建数据表的sql 语句  并设置name_id 为主键自增长不为空sql_createTb  CREATE TABLE MONEY (name_id INT NOT NULL AUTO_INCREMENT,LAST_NAME  CHAR(20),AGE INT,SEX CHAR(1),PRIMARY KEY(name_id))# 插入一条数据到moneytb 里面。sql_insert  insert into money(LAST_NAME,AGE,SEX) values(de2,18,0)# 在 execute里面执行SQL语句cursor.execute(sql_createTb)cursor.execute(sql_insert)print(cursor.rowcount)conn.commit()conn.close()cursor.close()

再上一段代码比较详细的对数据表增删改查的操作以及出现异常回滚事务

import pymysql# 连接数据库conn  pymysql.connect(hostlocalhost,port3306,userroot,passwd888999,dbmyapp,charsetutf8)# 获取游标cursor  conn.cursor()# 使用 execute()  方法执行 SQL 的增删改查 insert delete update selectsql_select  select * from usersql_insert  insert into user(id,name,age) values(8,pythonN8,18)sql_update  update user set namehelloPy where id7sql_delete  delete from user where d7# 执行 insert 增加的语句  如果出现异常对异常处理try:cursor.execute(sql_insert)print(cursor.rowcount)cursor.execute(sql_update)print(cursor.rowcount)cursor.execute(sql_delete)print(cursor.rowcount)conn.commit()except Exception as e:print(e)conn.rollback()# res  cursor.fetchmany(2)# print(res)# res  cursor.fetchall()# print(res)cursor.close()conn.close()