Mysql语法

package mysql;

public class mysql {
    //   \G
    //unsigned只能用于数字类型
    //停止 启动mysql  net start mysql   net stop mysql
    //登陆退出mysql
    //退出 exit quit \q
    //显示版本 select version()
    //显示日期 select now()
    //显示当前用户  select user()
    //创建数据库create database 数据库名
    //查看数据库 show databases
    //创建其他编码格式的数据库 create database if not exists 数据库名 default character set gbk
    //查看show create database 数据库名
    //修改数据库 alter database 数据库名  default character set 编码名
    //删除数据库 drop database (if exists) 数据库名
    //mysql默认端口3306  超级用户root
    //数据类型 整型tinyint smallint mediumint int bigint
    //浮点float单精度(精确大约七位小数)  double双精度
    //日期时间型 YEAR(1970-2069) TIME DATA DATETIME TIMESLEEP(1970-2037)
    //字符型CHAR(M)(定长) VARCHAR(M)(变长) TINYTEXT TEXT MEDIUMTEXT longtext ENUM(value1,value2)(枚举) SET集合(最多64个)
    //数据表 1.打开数据库(use 数据库)
    //显示当前打开的数据库 select database()
    //查看数据表 show tables(from 数据库名)
    //创建数据表 create table(if not exists) 数据表名(列名 数据类型(大小),列名 数据类型(unsigned),...)
    //查看数据表结构 show columns from 数据表名
    //插入记录 insert into 数据表名 [(字段名)]values(val1,val2);
    //记录查找 select expr,... from 数据表名  select * from 数据表名 全部查找
    //空值与非空  null字段可空    not null禁止空  数据表名(列名 数据类型(大小) not null
    //自动编号 auto-increment 自动编号,必须定义为主键 默认起始值为1,每次增量1
    //主键primary key  默认not null m每张数据表只有一个
    //id int(10) auto-increment primary key
    //唯一约束unique key 一张表可以存在多个,可以存在空值
    //默认约束default  如果没用明确为字段赋值 则自动赋予默认值
    //约束(表级约束和列级约束)
    //外键约束 foreign key 保持数据一致完整  数据表存储引擎必须为INNODB
    //外键列和参照列必须具有相似的数据类型
    //外键列和参照列必须创建索引
    //外键 foreign key (本表某列名) references 外面的数据表(外置的数据表的某个列名)
    //外键必须保证数据类型相同 长度相同等
    //外键列和参照列必须创建索引
    //外键约束的参照操作
    //1.cascade 从父表删除或更新时同时自动删除或更新字表中匹配的行
    //2.set null 从附表删除或更新行,并设置子表中的外键列为null
    //3.restrict 拒绝对父表的删除或更新操作
    //4.no action标准sql关键字 在mysql中与restrict相同
    //添加单列 alter table 数据表名 add[column]列名  列定义 [first|after 某个列名]ca
    //列名 数据类型 数据大小或者unsigned  (default) not null primary key
    //添加多列 alter table 数据表名 add [column] (列名 列定义,列名 列定义)
    //添加多列不能指定位置关系   多列要加括号
    //删除列 alter table 数据表名 drop[column] 列名
    //删除多列alter table 数据表名 drop 列名,drop 列名
    //添加主键约束alter table 数据表名 add [constraint[symbol]]primary key[index_type](index_col_name主键名)
    //添加唯一约束alter table 数据表名 add[constraint[symbol]] unique [index|key][index_name][index_type](index_col_name)
    //唯一约束 alter table 数据表名 add UNIQUE (列名即为唯一约束名)
    //添加外键约束alter table 数据表名 foreign key(外键名) references 父表名(父表某列名)
    //添加/删除默认约束 alter table 数据表名  alter 要修改的那一列名 set default 某个值
    //atler table 数据表名  alter 列名 drop default
    //删除主键约束 alter talbe tablename drop primary key
    //删除唯一约束 alter table tablename drop index 约束名
    //删除的是约束不是字段
    //删除外键约束 alter table tablename drop foreign key 外键约束名
    //修改列定义和更名数据表 alter table tablename modify 列名 smallint unsigned not null first 修改位置
    //修改列定义就是加modify 大类型改小类型有可能造成数据丢失
    //修改列名称 alter table tablename change old列名  new列名  新列定义  [first|after 列名]
    //修改数据表名alter table tablename rename new 新表名
    //修改数据表名方法2  rename table tablename to 新表名
    //尽量少修改表名 列名
    //记录操作
    //插入记录 insert into 数据表名(列名称)values() 如果省略列名,所有都要赋值
    //插入可以写入数学表达式
    //插入记录2 insert (into) 数据表名  set 列名='具体值',
    //插入记录3  insert 数据表名 列名 select
    //update tablenames set 列名=某个值
    //单表更新  update 数据表名 set age=age+5;
    //update tablenames set age=age-id,sex=0;
    //undate tablenames set age=age+10 where id%2=0;
    //删除记录(单表删除) delete from tablenames [where 条件]如果没用条件 全部删除
    //select_expr
    //select 列名1,列名2 from 表名 select *from tables
    //多个表 select 表名.列名 from table
    //AS字段的别名   select id as userid, username as 1 from tablenames
    //查询结果分组group by  asc升序 desc降序
    //查询分组结果 select 列名 from tablenames GROUP BY 列名
    //分度条件HAVING  where_condition
    //分组条件必须为聚合函数 或者having的条件写在select里
    //分组条件 select 列名,having的列名 from tablenames GROUP BY 列名 having (列名+条件);
    //对查询结果排序 order by select *from tablenames ORDER BY 列名 DESC;  asc升序 desc降序
    //限制查询结果返回的数量  select *from tablenames limit 2;
    //limit a,b 第一个位置是0  从a开始查 查b条
    //插入记录 查询结果写入指定表  insert 要插入的表 select 列名 from  有记录的表
    //子查询,连接  子查询就是一个条件 写在括号里
    // set names gbk; 把utf8变成gbk
    //子查询 1.比较运算符= > <   select avg(good price) from tablenames
    //ANY= SONME 符合一个  ALL全部符合
    //select 列1 from tablenames where > any (select price from tablenames)
    //子查询2 IN    NOT IN  !ALL
    //3 [not]exists
    //INSERT...SELECT插入记录  将查询的结果写入数据表  insert tablenames[列名] select 列名 from tablenames group by 列名
    //多表更新  连接类型 1.inner join 内连接  update tablenames inner join tablenames2 ON tablenames里的列1=tablenames2里的列2 set 条件
    //多表更新(高级)create select 创建数据表的同时将查询结果写入数据表
    //create table[if not exists]tablenames []
    //create table tablenames(字段名 条件等)select 列名 from tablenames2 group by 列名;
    //连接语法结构  tablenamesA  as 别名 连接类型(例如inner join)  tablenamesB ON 连接条件
    //内连接 inner join==join=cross join
    //左外连接 left join
    //右外连接 right join
    //用ON关键字来设定连接条件  也可以where
    //内连接  仅显示符合两个表条件的内容  a交b
    //内连接  select 列1  表1.列2from talbenamesA inner join  tablenamsB ON 表1.字段名=表2.字段名  两个字段名相同 连接两个表
    //外连接outer join  左外:显示左表全部和右表符合条件的
    //右外连接:显示右表全部和左表中符合条件的
    //多表连接 同理
    //无限极分类表设计(分类id 分类名称 父类id)
    //自身连接
    //多表删除
    //字符函数 concat()字符连接!  concat_ws()  select concat('','',...)    select concat(列1,列2)from tablenames as 别名
    //concat_ws  多一个分隔符  select concat_ws('分割符','','')
    //format数字格式化  select format(12312313.12441,n) 保留小数点后n位
    //lower() upper() 大小写转换   select lower('MMYSQL')
    //left() right() 左侧右侧开始获取  select left('字符',需要的数量)
    //length() 获取字符串长度 包含空格  必须是字符串要加引号
    //ltrim()删除第一个字符之前的空格
    //rtrim()删除最后一个字符后的空格
    //Trim()  删除所有空格  删除某些特定的字符串  select trim(leading'a'from'abca')删除前导指定字符
    //select trim(traiing'a' from'abca' ) 删除指定后导字符
    //select trim(both'a'from'abca')  删除指定前导和后导字符
    //replace()字符串替换  select replace('avaad','a','A') a为需要替换的 A为替换成的
    //substring() 字符串截取  select substring('字符串',截取位置,截取数量)  截取位置从1开始   最后一个位置是-1
    //[not]like   select'mysql' like 'M%'  1是true   'escape'
    //%代表任意字符  _代码任1个字符

    //数值运算符和函数
    //ceil() 进一取整  select csil(3.01)    floor()向下取整
    //div 整数除法  select 3 div 4  结果只取整数部分
    //mod  取余数  select 5%3 =select 5mod 3
    //power 幂运算  select power(3,2)=9
    //round()四舍五入  round(3.652,1)=3.7 round(3.652,0)=4
    //truncate()数字截取  select truncate(125.89,1)=125.8  截取小数位数  select(125,-1)截取第一位数 负数代表小数点左边
    //比较运算符  [not]between...and...   select 35 between 45 and 50;  1=true 0=false
    //[not[ in() 是否在列出值范围内  select 10 in(10)true    select 5 in (1,2,3) false
    //is[not]null 是否为空  select 10 is null   select null is null
    //select * from test where first is null;
    //日期时间函数  now()打印当前日期时间  curdate()当前日期   curtime()当前时间
    //date_add()日期增加减少  select date_add('2014-3-12',interval 365day)  select date_add('2014-3-12', interval 356year)  week
    //dateiff()得到两个日期之间差 select datadiff('日期1','日期2')
    //date_format()日期格式化  select date_format('2014-3-12','%m/%d/%Y')
    //信息函数  select datebase() 返回当前数据库
    //connection_id() 返回连接id
    //last_insert_id() 最后插入记录的id号
    //select version() 版本信息
    //select user() 返回当前用户
    //聚合函数:只有一个结果     avg() count()  max()  min() sun()
    //select count(列名)from tablenames
    //加密函数 MD5()  PASSWORD()
    //select MD5('ADMIN')  SELECT PASSWORD('ADMIN')
    //修改数据库密码 select password=password(' ')
    //自定义函数必要条件 参数(<1024),返回值
    //create FUNCTION functionname  RETURNS 返回值类型 return 任意合法sql语句
    //create function f1() returns varchar(30) return date_format(now(),'%Y年%m月%d日 %H点:%i分:%s秒')
    //函数有中文时  set names gbk;
    //删除自定义函数  drop function 函数名;(函数名后不要括号)
    //带有参数的自定义函数
    //create function f1(n1 smallint unsigned,n2 smallint unsigned)
    //returns float(10,2)unsigned 10代表最大位数 2代表小数点后位数
    //return num1+num2;

}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值