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;