mysql
\`\`\`sql # 修改密码 mysqladmin -u 用户名 -p oldpswd newpswd Update user set password=password(xxxx) WHERE USER = xxxx Update user set password=md5(xxx) WHERE USER = xxx Create database if not exst dzf character set utf8 # 显示变量信息 show variables like xxx alter database name character set utf8 # 查询去重 select distinct id,name .... # 修改数据库编码 my.ini dafault-character-set=utf8 # 修改变编码 alter table WF_ACTIONS DEFAULT CHARACTER SET utf8; \`\`\` \`\`\`sql # having 用来操作 group by x 后其他列按y分组后的每组信息,与in any all 结合使用 # 若比较改每小组中的集合与其他集合否相等,可转化为相同条件下数量之间的比较 # 函数,获取最后插入的id select last_insert_id() \`\`\` \`\`\`sql # 查看列 Show columns from 表名 # 修改表列名 不能省 alter table test change column address address1 varchar(30) # 修改表名 alter table test rename test1; # 添加表列 alter table test add column name varchar(10); # 删除表列 alter table test drop column name; # 修改表列类型 alter table test modify address char(10) \|\|alter table test change address address char(40) # 重命名 alter table old rename to new \`\`\` \`\`\`sql # 函数: Ceil(x) # 大于x的最小整数 Floor(x) # 小于x的最大整数 Round(x) # 最接近x的 Round(x,y) # 接近x的小数保留y位,四舍五入y可为负: Mod(x,y) # 取余 Concat(1,2) # 链接1,2 Concat(x,1,2) # 链接12 x隔开 Lower(str) # 小写 Upper(str) # 大写 Length(str) # 长度 Trim,ltrim,Rtrim(str) # 去掉右边空格 Substring(字符,开始,长度) # 截取 Left(字符,num) # 左边num个 Replace(a,b) Format(123.4567,2)= 123.46 Curdate()=currentdate() Curtime()=current_time() Now()=sysdate() date+time Datediff(date1,date2) # 日期差,天数 Date_format(date,format) \`\`\` \`\`\`sql # 只备份表格 mysqldump -u root -p student\>e:\\student.sql # 恢复:需要先建库,使用,mysql\>source c:\\\\sql.sql # 备份数据与结构 加参数 mysqldump -uroot -p -B student \`\`\` \`\`\`sql #返回字符串 s 的第一个字符的 ASCII 码。 ASCII(s) # 返回 CustomerName 字段第一个字母的 ASCII 码: SELECT ASCII(CustomerName) AS NumCodeOfFirstCharFROM Customers; # 返回字符串 s 的字符数 CHAR_LENGTH(s) \|\| CHARACTER_LENGTH(s) # 字符串 s1,s2 等多个字符串合并为一个字符串 CONCAT(s1,s2...sn) # 同 CONCAT(s1,s2,...) 函数,但是每个字符串之间要加上 x,x 可以是分隔符 CONCAT_WS(x, s1,s2...sn) # 返回第一个字符串 s 在字符串列表(s1,s2...)中的位置 FIELD(s,s1,s2...) SELECT FIELD("c", "a", "b", "c", "d", "e"); # 返回在字符串s2中与s1匹配的字符串的位置 FIND_IN_SET(s1,s2) SELECT FIND_IN_SET("c", "a,b,c,d,e"); # 函数可以将数字 x 进行格式化 "#,###.##", 将 x 保留到小数点后 n 位,最后一位四舍五入。 FORMAT(x,n) # 格式化数字 "#,###.##" 形式: SELECT FORMAT(250500.5634, 2); -- 输出 250,500.56 INSERT(s1,x,len,s2) -- 字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串 #从字符串第一个位置开始的 6 个字符替换为 runoob: SELECT INSERT("google.com", 1, 6, "runnob"); -- 输出:runoob.com LOCATE(s1,s) -- 从字符串 s 中获取 s1 的开始位置 LCASE(s) -- 将字符串 s 的所有字母变成小写字母 LEFT(s,n) -- 返回字符串 s 的前 n 个字符 LPAD(s1,len,s2) -- 在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 len MID(s,n,len) -- 从字符串 s 的 start 位置截取长度为 length 的子字符串,同 SUBSTRING(s,n,len) POSITION(s1 IN s) -- 从字符串 s 中获取 s1 的开始位置 REPEAT(s,n) -- 将字符串 s 重复 n 次 REVERSE(s) -- 将字符串s的顺序反过来 RIGHT(s,n) -- 返回字符串 s 的后 n 个字符 RPAD(s1,len,s2)在字符串 s1 的结尾处添加字符串 s2,使字符串的长度达到 len 将字符串 xx 填充到 abc 字符串的结尾处: SELECT RPAD('abc',5,'xx') -- abcxx SPACE(n) -- 返回 n 个空格 STRCMP(s1,s2) -- 比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1\>s2 返回 1,如果 s1\