目录
1. mysql的安装与配置
可以使用netstat -nlp来查看端口状态
2. SQL基础
常用语句关键字
create,drop,alter;insert,delete,update,select;grant,revoke;
desc可以查看表定义,要看更全面的信息,可以使用show create tabel table_name;
3.mysql的数据类型
整型,有一个autoincrement的属性,一般从1开始,一个表最多只能有一个,需要not null,定义为primary key或者unique;
decimal 定点小数,与浮点小数相对应;
timestamp,一张表只能有一个默认为current_timestamp;多个的话默认值是0;会受时区的影响,表示的范围有限,使1970-1-1 到2038的某一天;
char,检索时会自动删除尾部的空格;
ENUM,插入不在范围时,不报错,默认使用第一个值;
SET,集合
4.运算符
算数:+,-,*,/,%;
比较:>,<=,<>,!=,>=,<=,BETWEEN,IN,IS NULL,IS NOT NULL,LIKE,REGEXP或者RLIKE(正则表达式匹配);
逻辑:NOT(!),AND(&&),OR(||),XOR
位运算:&,|,^,~,<<,>>。左右移可以代替幂运算等会提升性能。
5.常用函数
5.1字符串函数
concat(s1,s2,……Sn),连接s1,s2……sn为一个字符串;
insert(str,x,y,instr),将字符串str从第x位置开始,y个字符长度的字串替换为字符串instr;
LOWWER(str),变小写;
UPPER(str),变大写;
LEFT(str,x),返回str最左边的x个字符;
RIGHT(str,x),返回右边;
LPAD(str,,n,pad),使用字符串pad对str最做左边填充,直到长度为n个字符;
RPAD(str,n,pad),右边填充;
LTRIM,RTRIM,TRIM,去除左边,右边,或者全部空格。
REPEAT(str,x),str重复x次
REPLACE(str,a,b) b代替str中的所有a;
STRCMP(s1,s2),比较
SUBSTRING(STR,y) 返回长度为y的字串
5.2 数值函数
ABS(x) | 绝对值 |
CELL(x) | 大于x的最小整数,即向上取整,注意负数的向上 |
FLOOR(x) | 小于x的最小整数,注意负数 |
MOD(x) | x/y的模 |
RAND() | 0-1的随机值 |
ROUND(x) | x四舍五入有y位小数的值 |
TRUNCATE(x) | x截断为y位小数的值 |
利用ceil与rand可生成任意整数,如0-100
ceil(rand()*100)
5.3日期和时间函数
CURDATE() | 当前日期 |
CURTIME() | 当期时间 |
NOW() | 当前日期和时间 |
UNIX_TIMESTAMP(date) | 返回日期date的unix时间戳 |
FROM_UNIXTIME() | 返回unix时间戳的日期值 |
WEEK(date) | date是一年中的第几周 |
YEAR(date) | date的年份 |
HOUR(date) | date的小时值 |
MINUTE(date) | date的分钟值 |
MONTHNAME(date) | date的月份名(英文的January这种,不是阿拉伯数字) |
DATE_FORMAT(date,fmt) | 按fmt格式化date |
DATE_ADD(date,INTERVAL expr type | 一个日期或者时间加上一个时间间隔的值 |
DATEDIFF(expr,expr2) | 之间的天数 |
5.4.流程函数
用的不多,先记一下吧
IF(value,t,f) | 如果value为真,返回t,否则返回f |
IFNULL(value1,value2) | 如果value1不为空,返回value1,否则返回value2 |
CASE WHERE[value1] THEN [result1]……ELSE [default] END | value1为真,则返回result1,否则返回default |
CASE [expr] WHEN [value1] THEN [result1] …… ELSE [default] END | 如果expr等于value1,则返回result1,否则返回default |
5.5.其他函数
DATABASE() | 当前数据库名 |
VERSION() | 当前版本 |
USER() | 当前登陆的用户名 |
INET_ATON(IP) | IP地址的数字表示 |
INET_NTOA(num) | 返回数字 代表的Ip地址 |
PASSWORD(str) | str的加密版本 |
MD5(str) | 返回str的MD5值 |
6.图形化工具的使用
MySQL WorkBench
可以数据建模,在数据库设计阶段,之后还可以直接生成sql语句,以后有需要 可以试下