您好,欢迎访问三七文档
登录:mysql–h127.0.0.1–uroot–pmysql–hlocalhost–uroot–p1.MysqlSHOWDATABASES;//查看已存在数据库2.MysqlCREATEDATABASEschool;//创建数据库3.MysqlDROPDATABASEschool;//删除数据库4.MysqlSHOWENGINES\G//查看MySQL数据库支持的存储引擎5.MysqlSHOWVARIABLESLIKE‘have%’;//查看MySQL数据库支持的存储引擎6.创建表的语法形式CREATETABLE表名(属性名数据类型[完整性约束条件],属性名数据类型[完整性约束条件],...属性名数据类型);7.设置表的主键a)单字段主键:属性名数据类型PRIMARYKEYb)多字段主键:PRIMARYKEY(属性名1,属性名2,…,属性名n)c)设置表的外键:CONSTRAINT外键别名FOREIGNKEY(属性名1.1,属性名1.2,…属性名1.n)REFERENCES表名(属性名2.1,属性名2.2,…属性名2.n)/*属性名1:子表外键属性名2:父表主键*/d)设置表的非空约束:属性名s属性名数据类型NOTNULe)设置表的唯一性约束属性名数据类型UNIQUEf)设置表的属性自动增加属性名数据类型AUTO_INCREMENTg)设置表的属性默认值属性名数据类型DEFAULT默认值8.查看表的结构DESCRIBE表名;DESC表名;SHOWCREATETABLE表名\G//查看表的详细结构9.修改字段的数据类型ALTERTABLE表名MODIFY属性名数据类型10.修改字段名ALTERTABLE表名CAHNGE旧属性名新属性名新数据类型/*字段改名肯能会丢失部分约束条件(例如:非空属性变成默认空值),为了保证约束条件与原来一样,在执行改名操作时,需要加上原字段一样的约束条件。*/11.增加字段名ALTERTABLE表名ADO属性名1数据类型[完整性约束条件][FIRST|AFTER属性名2]12.删除字段ALTERTABLE表名DROP属性名;13.修改字段的排列位置ALTERTABLE表名MODIFY属性名1数据类型FIRST|AFTER属性名214.查看表的存储引擎SHOWCREATTABLEuser\G15.更新表的存储引擎ALTERTABLE表名ENGINE=存储引擎名;/*表中有外键,依赖父表存在,不能更新引擎*/16.删除表的外键约束ALTERTABLE表名DROPFOREIGNKEY外键别名17.删除表DROPTABLE表名18.创建表的时候创建索引CREATETABLE表名(属性名数据类型[完整性约束条件],属性名数据类型[完整性约束条件],……属性名数据类型[UNIQUE|FULLTEXT|SPATIAL]INDEX|KEY[别名](属性名1[(长度)][ASC|DESC]));19.已经存在的表上创建索引CREATE[UNIQUE|FULLTEXT|SPATIAL]INDEX索引名ON表名(属性名[(长度)][ASC|DESC]);20.使用ALTER语句来创建索引ALTERTABLE表名ADD[UNIQUE|FULLTEXT|SPATIAL]INDEX索引名(属性名[(长度)][ASC|DESC]);21.删除索引DROPINDEX索引名ON表名;22.创建视图CREATE[ALGORITHM={UNDIFINED|MERGE|TEMPTABLE}]VIEW视图名[(属性清单)]ASSELECT语句[WITH[CASCADED|LOCAL]CHECKOPTION];23.查看视图DESCRIBE视图名;DESC视图名;SHOWTABLESTATUSLIKE‘视图名’;SHOWCREATEVIEW视图名\G//查看视图的详细信息SELECT*FROM视图名\GSELECT*FROMinformation_schema.views\G24.修改视图CREATEORREPLACE[ALGORITHM={UNDIFINED|MERGE|TEMPTABLE}]VIEW视图名[(属性清单)]ASSELECT语句[WITH[CASCADED|LOCAL]CHECKOPTION];ALTER[ALGORITHM={UNDIFINED|MERGE|TEMPTABLE}]VIEW视图名[(属性清单)]ASSELECT语句[WITH[CASCADED|LOCAL]CHECKOPTION];25.更新视图UPDATE视图名SET属性名1=’新值’,属性名2=’新值’……属性名n=’新值’WHERE条件;26.删除视图DROPVIEW[IFEXISTS]视图名列表[RESTRICT|CASCADE];27.给表插入数据INSERTINTO表名VALUES(属性1的值,属性2的值,……属性n的值);28.创建触发器29.创建触发器a)创建只有一个执行语句的触发器CREATETRIGGER触发器名BEFORE|AFTER触发事件ON表名FOREACHROW执行语句b)创建有多个执行语句的触发器DELIMITER&&CREATETRIGGER触发器名BEFORE|AFTER触发事件ON表名FOREACHROW执行语句BEGIN执行语句列表END&&DELIMITER;30.查看触发器SHOWTRIGGERS\GSELECT*FROMinformation_schema.triggers;SELECT*FROMinformation_schema.triggersWHERETRIGGER_NAME=‘触发器名’;31.删除触发器DROPTRIGGER触发器名;32.插入数据a)INSERT语句中不指定具体的字段名INSERTINTO表名VALUES(值1,值2,……,值n);/*不指定字段时必须为每个字段插入数据*/b)INSERT语句中列出所有字段INSERTINTO表名(属性1,属性2,……,属性n)VALUES(值1,值2,……,值n);c)为指定字段插入数据INSERTINTO表名(属性1,属性2,……,属性m)VALUES(值1,值2,……,值m);/*如果有某个字段有设置默认值,而且是非空,就必须为其赋值,否则系统报错*/d)同时插入多条记录INSERTINTO表名[(属性列表)]VALUES(取值列表1),(取值列表2)……,(取值列表n)e)将查询结果插入到表中INSERTINTO表名1(属性列表1)SELECT属性列表2FROM表名2WHERE条件表达式/*字段1和字段2的个数必须是一样的,而且每个对应的字段的数据类型是一样的。否则系统报错*/33.更新数据UPDATE表名SET属性名1=取值1,属性名2=取值2,……,属性名n=取值n,WHERE条件表达式;34.删除数据DELETEFROM表名[WHERE条件表达式];/*更新和删除数据时一定要特别小心,最好先执行SELECT语句判断满足WHERE条件的记录是否是需要操作的,如果存在不需要操作的记录,应该重新设置WHERE条件*/35.基本查询语句SELECT[DISTINCT]属性列表FROM表名和视图列表[WHERE条件表达式1][GROUPBY属性名1[HAVING条件表达式2]][ORDERBY属性名2[ASC|DESC]][LIMIT记录数|初始位置记录数];36./*条件表达式1可以是带IN、LIKE、BETWEENAND、OR的关键字也可以包含子查询语句,也可以用DISTINCT来指定查询结果不重复,ORDERBY用来对查询结果进行排序,GROUPBY一般与GROUP_CONTANCT()函数一起使用,用来将查询结果按某个字段或多个字段进行分组,条件表达式2可以用来限定输出的结果,属性列表可以使用集合查询函数*/37.内连接查询SELECT属性列表FROM表名1表名2WHERE条件表达式表1某字段=表2某字段;38.外连接查询SELECT属性列表FROM表名1LEFT|RIGHTJOIN表名2ON表名1.属性名1=表名2.属性名239.合并查询结果SELECT属性列表1FROM表1UNION[ALL]SELECT属性列表2FROM表2;40.为表取别名SELECT*FROM表1别名WHERE条件表达式;41.为字段取别名SELECT属性名[AS]别名FROM表1WHERE条件表达式;/*为表和字段取别名并非一定要是SELECT语句才行,其他语句也行,上述只是示例*/42.使用正则表达式查询SELECT*FROM表WHERE属性名REGEXP‘匹配方式’;
本文标题:mysql语法大全
链接地址:https://www.777doc.com/doc-5661161 .html