天天看点

my sql 学习

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"));

}