1.安装mysql
安装mysql
yum -y install mysql mysql-dev mysql-server
启动mysql
service mysqld restart
重启之后生效
chkconfig mysqld on
2.登录
设置密码
mysqladmin -u 用户名 password '要修改的密码'
登录
mysql -u 用户 -p//-p:通过密码登录,会提示你输入密码
退出
quit;
3.数据库操作
查看数据库
show databases;
创建数据库
create database XX;
4.链接到Navicat
此时数据库已经安装完成了,但是此时只有本机能访问,局域网内其他用户无法访问到。
切入mysql数据库
mysql> use mysql;
查询用户表信息
mysql> select host,user,password from user;
删除无用的用户
delete from user where password='';
再次查询,此时只有一个用户了,绑定机器名是localhost,也就是只有本机下可以访问到。
将localhost 修改为%(通配)
mysql> update user set host='%';
修改后需要刷新权限
mysql> flush privileges;
此时关闭防火墙后局域网内其他用户也可以访问了
5. 建表
Create table 表名(
字段名 数据类型 约束,
字段名 数据类型 约束,
……
字段名 数据类型 约束
)数据库引擎 默认字符编码;
6.查询
Select 字段列表 from 表名;
7.删除
Delect from 表名//项目中是禁止使用delete语句
Tip:如果使用delete语句且并没有见到where一定要注意!!!
8.条件
where 字段名 关系运算符 值
9.修改
update 表名 字段名 = 字段值,字段名 = 字段值(原则上也要加where条件)
10.添加
insert into 表名(字段列表) values (值列表);
11.数据库三范式
(1)原子性:列不可再分
(2)必须有主键
(3)有关联的时候用外键,不再建立重复的字段
Tip:但现在许多互联网的项目基本都不遵守三范式。
12.完整性约束
(1)主键
每一条记录的一个身份证号码,不重复,主键会有一个默认的索引,知道了主键就可以直接锁定该行数据
primary key
双主键:两个字段组合作为主键单独一个可以重复,组合之后不能重复
CONSTRAINT 主键名 primary key(字段名,字段名)
(2)非空
not null
(3)默认值
default 默认值
(4)唯一约束
unique
(5)检查约束
检查字段的值
mysql检查约束可以创建,但是没有作用
check (条件)
(6)外键
foreign key (字段) references (被参照的字段)
tip:因为数据库引擎的关系,建表时候应设置引擎,外键才起效
engine=innodb default charset=utf8
(7)自增
为了让数据有唯一性,很多情况下,主键都是不参与业务的
auto_increment
13.分页查询
Limit 后面跟随两个参数:
1从哪开始,下标是0
2查询多少条
select * from student limit 3,2;
14.函数
自定义函数
create function 函数名(参数列表)
returns 返回值类型
begin
Declare 变量名 数据类型;
Set 变量名=变量值;
End
create function fun(cid int)
returns varhar(20)
begin
declare result varchar(20);
set result =(select name from classes where id=cid);
retuen result;
end
rand() 随机数
select rand(1); //返回0~1的随机数
select rand(2); //返回0~2的随机数
sing() 正负:负数、0正数分别返回-1,0,1
sin(x) 求正弦函数
select sin(radians(30)) //0.5
length(s) 求字符s长度
15.触发器
触发事件:insert update delete
触发时间:before after
触发器中有两个对象 new old
create trigger delclass
before delete on classes
for each row
begin
delete from student where c_id = old.id;
end
16.存储过程
调用方便,相当于在数据库里写方法。