MySQL数据库学习
登陆:shell >  mysql -  uroot -  p
修改:
①shell > 的MySQL -  uroot -  ppassward - 提示提示符
②mysql > 提示消费
【参数】\D完整的日期;\d当前数据库;\h服务器名称;\u当前用户;
修改定界符:DELIMITER 定界符;
修改存储引擎:ALTER  TABLE  table_name ENGINE  [  =  ]  engine_name; 
显示当前服务器版本:SELECT  VERSION; 
显示当前日期:SELECT  NOW ( ) ; 
修改客户端编码方式:SET  NAMES gbk; 
显示当前用户:SELECT  USER ( ) ; 
查看数据库的默认引擎:show  variables like   ' default_storage_engine '  ; 
查看数据库支持的引擎:show  Engines; 或show  variables like   ' have% '  ; 
修改密码:
① SET  PASSWORD FOR  'root' @'localhost'  =  PASSWORD( 'newpass' ) ; 
②mysqladmin -  u root 密码 oldpassword “newpassword”
③ UPDATE  user  SET  Password =  PASSWORD( 'newpassword' )  WHERE  user  =  'root' ; 
创建数据库:CREATE  {DATABASE  |  SCHEMA } [ IF  NOT  EXISTS ]  db_name [ DEFAULT ]  CHARACTER  SET  [  =  ]  charset_name; 
查看当前服务器下的数据表列表:SHOW  {DATABASES  |  SCHEMAS} [  LIKE   '模式'  |  哪里expr] ; 
修改数据库:ALTER  {DATABASE  |  SCHEMA } [ db_name]  [ DEFAULT ]  CHARACTER  SET  [  =  ]  charset_name; 
删除数据库:DROP  {DATABASE  |  架构} [ 如果存在]  db_name; 
创建数据表:CREATE  TABLE  [ IF  NOT  EXISTS ]  table_name( column_name data_type, . . . ) ; 
空与非空:NULL  /  NOT  NULL  ; 
有符号与无符号:SIGNED /  UNSIGNED ; 
自动编号:AUTO_INCREMENT ; 
主键:PRIMARY  KEY  ; 
添加主键约束:ALTER  TABLE  tbl_name ADD  [  CONSTRAINT  [ symbol] ]  PRIMARY  KEY  [ index_type]  ( index_col_name, . . . ) ; 
删除主键约束:ALTER  TABLE  tbl_name DROP  PRIMARY  KEY  ; 
唯一约束:UNIQUE  KEY ; 
添加唯一约束:ALTER  TABLE  tbl_name ADD  [  CONSTRAINT  [ symbol] ]  UNIQUE  [ INDEX  |  KEY ]  [ index_name]  [ index_type]  ( index_col_name, . . . ) ; 
删除唯一约束:ALTER  TABLE  tbl_name DROP  {INDEX  |  KEY } 索引名;
默认约束:DEFAULT 值;
添加/ 删除默认约束:ALTER  TABLE  tbl_name ALTER  [ COLUMN ]  col_name { SET  DEFAULT  literal |  删除默认值}; 
查看数据表列表:SHOW  TABLES  [  FROM  db_name]  [  LIKE   ' pattern '  |  哪里expr] ; 
查看数据表结构:SHOW  COLUMNS  FROM  tb1_name; 
插入记录:INSERT  [ INTO ]  tbl_name [ ( col_name, . . . ) ]  VALUES  ( val, . . . ) ; 
记录查找:SELECT  expr, . . .  FROM  tbl_name; 
查看索引:SHOW  INDEXES FROM  table_name; 
外键约束:FOREIGN  KEY  ( pid)  REFERENCES  Provinces ( id) ; 外键列pid,参照列id;
添加外键约束:ALTER  TABLE  tbl_name ADD  [  CONSTRAINT  [ symbol] ]  FOREIGN  KEY  [ index_name] ( index_col_name, . . . )  reference_definition; 
删除外键约束:ALTER  TABLE  tbl_name DROP  FOREIGN  KEY  fk_symbol; 
外键约束的参照操作:
①CASCADE :从父表删除或更新且自动删除或更新子表中匹配的行。
② SET   NULL  :从删除或更新行,并设置子表中的外键表NULL 。
③RESTRICT :拒绝对父表的删除或更新操作。
④NO  ACTION :标准SQL 的关键字,在MySQL中与RESTRICT 相同。
添加单列:ALTER  TABLE  tbl_name ADD  [ COLUMN ]  col_name column_definition [ FIRST  |  后 col_name] ; 
添加多列:ALTER  TABLE  tbl_name ADD  [ COLUMN ]  ( col_name column_definition, . . . ) ; 
删除列:ALTER  TABLE  tbl_name DROP  [ COLUMN ]  col_name; 
修改列定义:
①ALTER  TABLE  tbl_name MODIFY  [ COLUMN ]  col_name column_definition [ FIRST  |  后 col_name] ; 
②ALTER  TABLE  tbl_name CHANGE [ COLUMN ]  old_col_name new_col_name column_definition [ FIRST  |  后 col_name] ; 
修改数据表名:
①ALTER  TABLE  tbl_name RENAME  [ TO |  AS  ]  new_tbl_name; 
②RENAME  TABLE  tbl_name TO  new_tbl_name [ ,  tbl_name TO  new_tbl_name2] . . . 
插入记录:
①INSERT  [ INTO ]  tbl_name [ ( col_name, . . . ) ]  { VALUES  |  VALUE } ( {expr |  DEFAULT }, . . . ) , ( . . . ) , . . . 
②INSERT  [ INTO ]  tbl_name SET  col_name =  {expr |  默认},. . . 
③INSERT  [ INTO ]  tbl_name [ ( col_name, . . . ) ]  SELECT  . . . 
更新记录:
①单表更新:UPDATE  [ LOW_PRIORITY]  [ IGNORE ]  table_reference SET  col_name1 =  {expr1 |  默认} [ , col_name2 =  {expr2 |  DEFAULT }] . . . [  WHERE  where_condition] ; 
②多表更新:UPDATE  table_reference SET  col_name1 =  {expr1 |  默认} [ , col_name2 =  {expr2 |  DEFAULT }] . . . [  WHERE  where_condition] ; 
删除记录:
①单表删除:DELETE   FROM  tbl_name [  WHERE  where_condition] ; 
②多表删除:DELETE  tbl_name[ .  *  ]  [ , tbl_name[ .  *  ] ] . . .  FROM  table_reference [  WHERE  where_condition] ; 
查找记录:
SELECT  select_expr [ , select_expr . . . ] 
[ 	FROM  table_reference[  WHERE  where_condition] [  GROUP  BY  {col_name |  位置} [  ASC  |  描述] , . . . ] [  HAVING  where_condition] [  ORDER  BY  {col_name |  表达式 |  位置} [  ASC  |  描述] , . . . ] [  LIMIT  {[ offset , ]  row_count |  row_count OFFSET  偏移量}] 
] 
表连接:table_reference {[ INNER  |  交叉] 加入|  {左 |  RIGHT } [ OUTER ]  JOIN  } table_reference ON  join_condition; 
内链接:显示左表及右表符合连接条件的记录;
左外连接:显示左表的全部记录及右表符合连接条件的记录;
右外连接:显示右表的全部记录及左表符合连接条件的记录;
电子。克。SELECT  col_name. . .  FROM  tbl_name1 INNER  JOIN  tbl_name2 ON  condition_expr; 
创建数据表同时将查询结果写入数据表:CREATE  TABLE  [ IF  NOT  EXISTS ]  tbl_name [ ( create_definition, . . . ) ]  select_statement; 
创建自定义函数:
①CREATE  FUNCTION  function_name( 参数1  , . . . )  返回{STRING |  整数|  真实|  十进制}routine_body; 
②CREATE  FUNCTION  function_name( 参数1  , . . . )  RETURNS  返回值 RETURN  函数体; 
复合结构用BEGIN  . . . END ; 
删除自定义函数:DROP  FUNCTION  function_name; 
创建存储过程:
创建 
[ 定义者=  {用户 |  CURRENT_USER  }] 
PROCEDURE  sp_name( [ proc_parameter[ , . . . ] ] )  
[ 特征. . . ] routine_body
proc_参数:
[ 在|  出 |  INOUT ]  param_name 类型
调用存储过程:CALL  sp_name( [ parameter[ , . . . ] ] ) ; 
删除存储过程:DROP  PROCEDURE  [ IF  EXISTS ]  sp_name;