常用的mysql语句及命令语句

来源:互联网 发布:数据分析的方法 编辑:程序博客网 时间:2024/06/10 15:36
1.数据库
a).数据库概念 ★★
存放数据的仓库
b).常见的数据库 ★★
1.mysql:开源免费  
2.oracle:大型收费 
3.db2:IBM公司,收费
4.sql server: 微软,中型收费
5.sqlite:小型的数据库,一般会用在移动端和嵌入式
c).数据库的管理系统 ★★
一个数据库软件可以有多个数据库,多个数据库下面,又可以有多个表,存储过程,触发器,事件,函数
d).数据库与java的对应关系★★★
1.类 -- 表
2.属性--列名
3.对象 -- 每一行的记录数据
e).启动mysql服务
1.net start mysql 最简便方法
f).mysql登录
1. mysql -u用户名 -p密码   明文登录 ★★★
2. mysql -u用户名 -p    回车,再输入密码  密文登录 ★★★★★
2.sql语句
a).sql语句分类
1.数据库定义语言:DDL,对数据库,表,进行的一系列创建,删除,修改操作(不是对表中的数据进行操作)
2.数据库操作语言:DML,对数据库表的数据进行增删改操作  (重点) ★★★★★
3.数据库控制语言:DCL,对数据库进行权限管理
4.数据库查询语言:DQL,对数据库表的数据进行查询     (复杂,重点) ★★★★★
b).数据库表中的数据类型
1.整形:int ★★★★★
2.浮点型:double ★★★★★
3.可变字符串:varchar可变字符串 ★★★★★
  text 存放超大的字符串
4.日期:date  格式: "yyyy-MM-dd" ,没有时分秒
datetime 格式:有年月日,还有时分秒
c).数据库操作
1.创建
create database 数据库名; ★★★★★
create database 数据库名 character set 字符集;
2.显示所有数据库
show databases; ★★★★★
3.删除 ★★
drop database 数据库名;
4.使用数据库 ★★★★★
use 数据库名;
d).约束
1.主键约束 primary key 只是做一个标记,一般来说没有任何的含义,一般情况下,没一张表,都要有一个主键 ★★★★★
2.非空约束 ★★★★★
3.唯一约束
4.外键约束
5.自动增长 auto_increment 自动增长 ★★★★★
e).表操作
1.创建表 ★★★
create table 表名 (
字段名1 数据类型1 约束1,
字段名1 数据类型1 约束1
);
注意:varchar类型要指定长度
2.查看所有表 ★★★★
show tables;
3.查看表详情 ★★
desc 表名
4.删除表 ★★★
drop table 表名;
5.添加列 ★
alter table 表名 add 列名 数据类型 约束;
6.修改列 ★
alter table 表名 modify 列名 数据类型 约束;
7.改列名 ★
alter table 表名 change 旧列名 新列名 数据类型和约束;
8.删除列 ★
alter table 表名 drop 列名;
9.改表名 ★
rename table 旧表名 to 新表名
10.修改字符集 ★★★★
alter table 表名 character set 字符集;

f).添加语句(必须掌握,重点) ★★★★★
insert into 表名 (列名1,列名2,列名3) values (值1,值2,值3);
insert into 表名 (列名2,列名3) values (值2,值3); 可以不包含主键
insert into 表名 values (全列值); 不能省略主键的值
insert into 表名 (列名2,列名3) values (值2,值3),(值2,值3); 批量添加,可以省略主键
g).更新语句  ★★★★★
update 表名 set 列名=要修改的值,列名=要修改的值 where 条件


f).删除语句  ★★★★★
delete from 表名 where 条件 ;//一条一条删除
truncate table 表名;//直接摧毁表,然后再创建一张空的表
g).查询语句  ★★★★★
1.解决控制台乱码问题 ★★★★★
在mysql控制台下输入 set names 'gbd';
2.基本查询 ★★★★★
select 列名1,列名2 from 表名;// * 星号全部列
select destinct 列名 from 表名;//去重查询
select 列名+100 from 表名;//查询的时候可以计算,计算查询
3.条件查询 ★★★★★
select * from 表名 where 条件
4.排序查询 ★★★★★
select * from 表名 order by 字段    //升序排序,默认ASC
select * from 表名 order by 字段 desc //降顺序排序
5.聚合函数
count:统计指定列不为Null记录数据的行数 ★★★★★
sum:对指定列进行求和 ★★★★★
min:求指定列的最小值
max:求指定列的最大值
avg:求指定列的平均值 ★★★★★
6.分组查询 ★★★★★
select 聚合函数(要统计的列) from 表名 group by 要分组的列;
注意:分组查询要配合聚合函数使用
 如果要对分组之后的数据进行筛选,不能用where 要用having
 where是分组前筛选,having分组后筛选
h).条件: ★★★★★
等于:=
不等于:<>
与: and
或: or
非:not
包含:in in(num1,num2,num3)   条件是num1可以,Num2可以,num3也可以
在区间范围:between num and num1   从num 到num1的区间,包含Num和num1
模糊查询:like   必须和通配符结合使用
例: select * from users where uname like '%张三%';查询uname里面包含张三字符串的信息
select * from users where uname like '___'; 查询uname中有三个字符的信息,每一个下划线,都代表一个字符


命令行乱码问题:
       set names gbk;
   以上操作,只针对当前窗口有效果,如果关闭了服务器便失效。




request.setCharacterEncoding("utf-8");//浏览器到服务器的乱码问题

response.setContentType("text/html;charset=utf-8");//服务器到浏览器的乱码问题

response.sendRedirect(request.getContextPath()+"/user?method=findAll");//重定向  servlet中的全路径

${requestContext.request.contextPath }  //jsp  中的 全路径名

Integer.parseInt(request.getParameter("id"));//将String转换为int


//////////////////////////////////////////////////////////////////////////////////////////
mysql下的数据的备份和还原
备份:
方式1:命令
在cmd下 输入命令
mysqldump -uroot -p密码 需要备份的数据库>磁盘路径下的文件
例如:
mysqldump -uroot -p1234 store43>g:/store43.sql

还原:
方式1:命令
手动创建数据库

命令1:
在cmd运行
mysql -uroot -p密码 目的地数据库<磁盘路径下的文件(sql)
例如:
mysql -uroot -p1234 store_bak<g:/store43.sql
命令2: 需要登录目的地数据库
source 磁盘路径下的文件(sql)

==============================================
(1)创建MySQL数据库
create database 数据库名 character set utf8;
(2)创建一个数据库用户
create user ermazi identified by '123';
(3)为新用户授权
grant all on 数据库名.* to ermazi;
(4)使用新用户登陆MySQL数据库系统


==============================================
cmd:(mysql常用脚本语言)
net start mysql;(开启mysql服务器)
mysql -uroot -p; (使用黑窗口打开mysql数据库   密码:root)
--创建数据库
drop database if exists 数据库1;
create database 数据库1;
--使用数据库
use 数据库1;
===============================================
window系统查看系统日志的命令:eventvwr
window系统连接远程服务器的窗口的命令:mstsc


怎样查看MqSql数据库物理文件存放位置  mysql>show golbal variables like "%datadir%";


原创粉丝点击