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;