mysql -u用户名 -p密码 -p端口 -h地址
连接mysql
select database()
/查询用户当前打开的数据库
show databases
查询多少个数据库
show tables
查询数据库里有多少表
show tables from 数据库
查看对应数据库下的所有的表
desc 表名 show columns form 表名
查看对应表结构
alter table tbl_name add password varchar(32) [figst|after 列名] ;
添加列 默认在最后加 figst 在列名前加 after在列名后加
alter table 表名 drop 列名
删除表对应的列
alter table tbl_name add constraint pk_user2_id primary key (id);
添加id为主键 主键名称pk_user2_id
alter table tbl_name add unique(username)
添加唯一约束 约束字段为username
alter table tbl_name add yyy primary key (yid) foreign key aaa (id) ;
添加外键 aaa.id 和yyy.yid
alter table tal_name drop primary key
删除主键约束
alert table tal_name drop {index|key} index_name;
删除唯一约束
alert table tal_name drop primary key 约束名
删除外键约束
select * from tbl_name
查看tbl_name表
insert into 表名 valuse (,,,) ;
添加
insert tal_name set username='',password ='';
添加
insert tal_name(name) select name from tal_name;
添加
update ta_name set name='' , set=0; where id=?
更新
update tal_name inner join tal_name1 on name = name1 set age = age1
通过 inner join 批量更新
delete from tbl_name where id=?
删除
select sex,age from tbl_name group by sex having age>35;
group by分组 having 条件
select sex from tbl_name group by count(id)>35;
因为有聚合函数 所以不会报错
select * from tbl_name order by age desc , id edsc
排序 先按照 age 排 后按照 id 排
select * from tbl_name limit 3,2
返回4条和第5条
set names gbk ;
修改编码格式为gbk
avg 平均
round 四失五入
select * form tbl_name where id> any (select id from tbl_name)
相当in 子查询 any some 符合一个 all 符合所有 not in 等于 <> all
commit
提交
create database 数据库名
创建数据库
use 数据库名
进入数据库
create table dept(
创建 dept表
depyno int primary key,
depyno 为主键
dname varchar(14) no null,
dname 不能为空
loc varchar(14)
);
create table emp)
emp no int primary key auto_increment,
主键自动增长
deptno int unique key,
唯一字段 可以为空
foreign key (deptno) references dept(deptno)
外键
);
create table student(
id int users unsigned auto_increment trimary key,
name varchar(20) not null ,
不能为空
sex enum('1','2','3') default '3'
默认值
)
\. 全路径
执行脚本
select now(); // 查看当前日期
select date_format(now(),'%y-%m-%d h%:i%:s%') //格式变换 年月日时分秒
date_add('2014-3-12',interval 365 day) 加上365天
user() 当前用户 version 版本信息
md5() password() 密码加密
set password = password('admin'); 修改密码
concat() 字符连接 length() 获取字符长度
concat_ws() 使用指定的分隔符进行连接 ltrim() 删除前空格
format() 数字格式化 rtrim() 删除后空格
lower() 小写 trim() 两边空格
upper() 大写 substring() 字符串截取
left() 获取左侧 like 模式匹配
right() 获取右侧 replace() 字符串替换
leading '?' from '?? mysql??' ='mysql??' 删除前面的字符
trailing '?' from '??mysql??' ='??myslq' 替换后面的字符
both '?' from '??mysql??' ='myslq' 替换两边的字符
replace('??my??sql??','?','0') =mysql 替换?
ceil() 进一取整 div 整数除法
floor 舍一取整 mod 取余数
power() 幂运算 round() 四舍五入
truncate() 数字截取
[not]between and 在什么和什么之间
[not]in() 在
is [not] null 是空
now() 当前日期和时间
curdate() 当前日期
curtime() 当前时间
//自定义函数
create function funcation_name
returns
{string|integer|real|decimal}
routine_body
//自定义函数udf 无参例子
create function f1() returns varchar(30)
return date_format(now(),'%y年%m月%d日');
//自定义函数 有参例子
create function f1(num1 float,num2 float)
returns float(10,2)
return num1+num2;
//删除函数
drop function function_name
//自定义函数 有参例子 添加数据
delimiter // //修改介绍符 为 //
create function adduser(username varchar(20))
returns int unsigned
begin
insert test(username) values(username);
return last_insert_id();
//
//存储过程
in表示参数必须在调用存储过程时指定
out 参数可以给存储过程改变 可以返回
inout 调用时指定 可以改变可以返回
//无参数的存储过程
create procedure sp_name() select version();
call sp_name() 或者 call sp_name //调用存储过程
//int参数的存储过程
delimiter ///
create procedure removeUserByid(in id1 int unsigned)
begin
delete from users where id = id1;
end
///
//删除存储过程
drop procedure sp_name;
// 又返回值的存储过程
delimiter ///
create procedure removeuser(in p_id omt ,out userNums int)
begin
delete from user where id =p_id;
select Count(id) from user into userNums;
end
///
调用
removeuser(2,@nums); select @nums
java连接 mysql
Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection(jdbc:myslq://localhost/mydata?usr=root&password=root");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select * from dept");
while(rs.next()){
System.out.pringln(rs.getString("deptno"));
}
//java 连接 oracle
Class.forName("oracle.jdbc.driver.OracleDriver");
Connection =conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.0.1:1521:sxt","scott","tiger");
Statement stmt = conn.createStatement();
ResultSet st = stmt.excuteQuery("select * from dept");
while(rs.next()){
System.out.pringln(rs.getString("deptno"));
}