一 初识数据库
2.数据库分类
3.DBMS
4.MySql简介
5.MySql和可视化工具SQLyog的安装
MySql
1.解压到的是D:\Program Files\mysql-5.7.19-winx64
2.添加环境变量
我的电脑->属性->高级->环境变量
选择PATH,在其后面添加: 你的mysql 安装文件下面的bin文件夹
(如: D:\Program Files\mysql-5.7.19-winx64\bin )
3.新建 my.ini 文件
[mysqld]
basedir=D:\Program Files\mysql-5.7.19-winx64\
datadir=D:\Program Files\mysql-5.7.19-winx64\data\
port=3306
skip-grant-tables
#basedir表示mysql安装路径
#datadir表示mysql数据文件存储路径
#port表示mysql端口
#skip-grant-tables表示忽略密码
4.启动管理员模式下的CMD,并将路径切换至mysql下的bin目录,然后输入
mysqld –install 就行mysql --安装mysql,添加mysql服务
成功后显示 Service successfully installed
5.输入 net start mysql; --启动mysql服务 可能会报错,报错先运行步骤6 再次重复此步骤
6.再输入 mysqld --initialize-insecure --user=mysql; --初始化数据文件
7.然后再次启动mysql 然后用命令 mysql –u root –p 进入mysql管理界面(密码可为空)
8.进入界面后更改root密码
update mysql.user set authentication_string=password('root') where user='root' and Host = 'localhost';
最后输入flush privileges 刷新权限
9.修改 my.ini文件删除最后一句skip-grant-tables
10.重启mysql即可正常使用
SQLyog
localhost username upwd port 3306
连接数据库语句
mysql -h 服务器主机地址 –u 用户名 -p用户密码
二 数据库值和类型
1.数值类型
2.字符串类型
3.日期和时间型数值类型
4.
5.数据字段属性
6.数据字段加注释
7.数据库表的类型:
8.约束
名称 关键字 说明
非空约束 NOT NULL 字段不允许为空
默认约束 DEFAULT 赋予某字段默认值
唯一约束 UNIQUE KEY(UK) 设置字段的值是唯一的允许为空,但只能有一个空值
主键约束 PRIMARY KEY(PK) 设置该字段为表的主键 可唯一标识该表记录
外键约束 FOREIGN KEY(FK) 用于在两表之间建立关系,需要指定引用主表的哪一字段
自动增长 AUTO_INCREMENT 设置该列为自增字段 默认每条自增1 通常用于设置主键
注释
MySQL注释:#单行注释 /*……*/多行注释
三 函数
聚合函数
函数名 作用
AVG() 返回某字段的平均值
COUNT() 返回某字段的行数
MAX() 返回某字段的最大值
MIN() 返回某字段的最小值
SUM() 返回某字段的和
字符串函数
函 数 名 作 用 举 例
ONCAT(str1,str1...strn) 字符串连接 SELECT CONCAT('My','S','QL');返回:MySQL
INSERT(str,pos,len,newstr) 字符串替换 SELECT INSERT( '这是SQL Server数据库',3,10,'MySQL');返回:这是MySQL数据库
LOWER(str) 将字符串转为小写 S ELECT LOWER('MySQL');返回:mysql
UPPER(str) 将字符串转为大写 SELECT UPPER('MySQL');返回:MYSQL
SUBSTRING(str,num,len) 字符串截取 SELECT SUBSTRING('JavaMySQLOracle',5,5);返回:MySQL
时间日期函数
函数名 作用 举例(结果与当前时间有关)
CURDATE() 获取当前日期 SELECT CURDATE();返回:2016-08-08
CURTIME() 获取当前时间 SELECT CURTIME();返回:19:19:26
NOW() 获取当前日期和时间 SELECT NOW();返回:2016-08-08 19:19:26
WEEK(date) 返回日期date为一年中的第几周 SELECT WEEK(NOW());返回:26
YEAR(date) 返回日期date的年份 SELECT YEAR(NOW()) 返回:2016
HOUR(time) 返回时间time的小时值 SELECT HOUR(NOW()); 返回:9
MINUTE(time) 返回时间time的分钟值 SELECT MINUTE(NOW());返回:43
DATEDIFF(date1,date2) 返回日期参数date1和date2之间相隔的天数 SELECT DATEDIFF(NOW(),'2008-8-8');返回:2881
ADDDATE(date,n) 计算日期参数date加上n天后的日期 SELECT ADDDATE(NOW(),5);返回:2016-09-02 09:37:07
数学函数
函数名 作 用 举 例
CEIL(x) 返回大于或等于数值x的最小整数 SELECT CEIL(2.3)返回:3
FLOOR(x) 返回小于或等于数值x的最大整数 SELECT FLOOR(2.3)返回:2
RAND() 返回0~1间的随机数 SELECT RAND() 返回:0.5525468583708134