mysql
mysql退出
mysql > exit
mysql > quit
mysql > \q;
mysql 默认的端口为3306
mysql中的超级用户root
连接数据库
mysql -uroot -h主机名 -p密码
连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)
断开:exit (回车)
创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"
修改密码:mysqladmin -u用户名 -p旧密码 password 新密码
删除授权: revoke select,insert,update,delete om *.* fromtest2@localhost;
显示数据库:show databases;
显示数据表:show tables;
显示表结构:describe 表名;
创建库:create database 库名;
删除库:drop database 库名;
使用库:use 库名;
创建表:create table 表名 (字段设定列表);
删除表:drop table 表名;
修改表:alter table t1 rename t2
查询表:select * from 表名;
清空表:delete from 表名;
备份表: mysqlbinmysqldump -h(ip) -uroot -p(password) databasenametablename > tablename.sql
恢复表: mysqlbinmysql -h(ip) -uroot -p(password) databasenametablename < tablename.sql(操作前先把原来表删除)
增加列:ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADDINDEX (c);
修改列:ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b cCHAR(20);
删除列:ALTER TABLE t2 DROP COLUMN c;
备份数据库:mysql\bin\mysqldump -h(ip) -uroot -p(password) databasename> database.sql
恢复数据库:mysql\bin\mysql -h(ip) -uroot -p(password) databasename< database.sql
复制数据库:mysql\bin\mysqldump --all-databases >all-databases.sql
修复数据库:mysqlcheck -A -o -uroot -p54safer
文本数据导入: load data local infile \"文件名\" into table 表名;
数据导入导出:mysql\bin\mysqlimport database tables.txt
连接客户端时通过参数指定
shell > mysql -uroot -proot --prompt 提示符
连接上客户端后,通过prompt命令修改
mysql > prompt 提示符
显示当前服务器版本
SELECT VERSION();
显示当前日期时间
SELECT NOW();
显示当前用户
SELECT USER();
语句规范
关键字与函数名称全部大写
SQL语句必须以分号结尾
创建数据库语句
CREATE{DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[DEFAULT] CHARACTER SET [=] charset_name
查看当前服务器下的数据表
SHOW {DATABASE | SCHEMAS}
[LIKE 'pattern' | WHERE expr]
修改数据库
ALTER {DATABASE | SCHEMA} [db_name]
[DEFAULT] CHARACTER SET [=] charset_name
删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
创建数据表
mysql> create table ta1(
-> username varchar(20),
-> age tinyint unsigned,
-> salary float(8,2) unsigned
-> );
主键约束、唯一约束、默认约束
约束
1约束保证数据的完整性和一致性
2约束分为表级约束和列级约束
3约束类型包括
NOT NULL(非空约束)
PRIMARY KEY(主键约束)
UNIQUE KEY(唯一约束)
DEFAULT(默认约束)
FOREIGN KEY(外键约束)
外键约束的要求
1 父表和子表必须使用相同的存储引擎,而且禁止使用临时表
2 数据表的存储引擎只能为InnoDB
3 外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位
必须相同;而字符的长度则可以不同
4 外键列和参照列必须创建索引。如果外键列不存在索引的话,MYSQL将自动创建索引
外键约束的参照操作
1 CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行
2 SET NULL: 从父表删除或更新行,并设置子表中的外键列为NULL.如果使用该选项,
必须保证子表列没有指定NOT NULL
3 RESTRICT:拒绝对父表的删除或更新操作。
4 NO ACTION:标准SQL的关键字,在MYSQL中与RESTRICT相同
表级约束与列级约束
对一个数据列建立的约束,称为列级约束
对多个数据列建立的约束,称为表级约束
列级约束既可以在列定义时声明,也可以在列定义后声明
表级约束只能在列定义后声明
mysql > exit
mysql > quit
mysql > \q;
mysql 默认的端口为3306
mysql中的超级用户root
连接数据库
mysql -uroot -h主机名 -p密码
连接:mysql -h主机地址 -u用户名 -p用户密码 (注:u与root可以不用加空格,其它也一样)
断开:exit (回车)
创建授权:grant select on 数据库.* to 用户名@登录主机 identified by \"密码\"
修改密码:mysqladmin -u用户名 -p旧密码 password 新密码
删除授权: revoke select,insert,update,delete om *.* fromtest2@localhost;
显示数据库:show databases;
显示数据表:show tables;
显示表结构:describe 表名;
创建库:create database 库名;
删除库:drop database 库名;
使用库:use 库名;
创建表:create table 表名 (字段设定列表);
删除表:drop table 表名;
修改表:alter table t1 rename t2
查询表:select * from 表名;
清空表:delete from 表名;
备份表: mysqlbinmysqldump -h(ip) -uroot -p(password) databasenametablename > tablename.sql
恢复表: mysqlbinmysql -h(ip) -uroot -p(password) databasenametablename < tablename.sql(操作前先把原来表删除)
增加列:ALTER TABLE t2 ADD c INT UNSIGNED NOT NULL AUTO_INCREMENT,ADDINDEX (c);
修改列:ALTER TABLE t2 MODIFY a TINYINT NOT NULL, CHANGE b cCHAR(20);
删除列:ALTER TABLE t2 DROP COLUMN c;
备份数据库:mysql\bin\mysqldump -h(ip) -uroot -p(password) databasename> database.sql
恢复数据库:mysql\bin\mysql -h(ip) -uroot -p(password) databasename< database.sql
复制数据库:mysql\bin\mysqldump --all-databases >all-databases.sql
修复数据库:mysqlcheck -A -o -uroot -p54safer
文本数据导入: load data local infile \"文件名\" into table 表名;
数据导入导出:mysql\bin\mysqlimport database tables.txt
连接客户端时通过参数指定
shell > mysql -uroot -proot --prompt 提示符
连接上客户端后,通过prompt命令修改
mysql > prompt 提示符
显示当前服务器版本
SELECT VERSION();
显示当前日期时间
SELECT NOW();
显示当前用户
SELECT USER();
语句规范
关键字与函数名称全部大写
SQL语句必须以分号结尾
创建数据库语句
CREATE{DATABASE | SCHEMA} [IF NOT EXISTS] db_name
[DEFAULT] CHARACTER SET [=] charset_name
查看当前服务器下的数据表
SHOW {DATABASE | SCHEMAS}
[LIKE 'pattern' | WHERE expr]
修改数据库
ALTER {DATABASE | SCHEMA} [db_name]
[DEFAULT] CHARACTER SET [=] charset_name
删除数据库
DROP {DATABASE | SCHEMA} [IF EXISTS] db_name
创建数据表
mysql> create table ta1(
-> username varchar(20),
-> age tinyint unsigned,
-> salary float(8,2) unsigned
-> );
主键约束、唯一约束、默认约束
约束
1约束保证数据的完整性和一致性
2约束分为表级约束和列级约束
3约束类型包括
NOT NULL(非空约束)
PRIMARY KEY(主键约束)
UNIQUE KEY(唯一约束)
DEFAULT(默认约束)
FOREIGN KEY(外键约束)
外键约束的要求
1 父表和子表必须使用相同的存储引擎,而且禁止使用临时表
2 数据表的存储引擎只能为InnoDB
3 外键列和参照列必须具有相似的数据类型。其中数字的长度或是否有符号位
必须相同;而字符的长度则可以不同
4 外键列和参照列必须创建索引。如果外键列不存在索引的话,MYSQL将自动创建索引
外键约束的参照操作
1 CASCADE:从父表删除或更新且自动删除或更新子表中匹配的行
2 SET NULL: 从父表删除或更新行,并设置子表中的外键列为NULL.如果使用该选项,
必须保证子表列没有指定NOT NULL
3 RESTRICT:拒绝对父表的删除或更新操作。
4 NO ACTION:标准SQL的关键字,在MYSQL中与RESTRICT相同
表级约束与列级约束
对一个数据列建立的约束,称为列级约束
对多个数据列建立的约束,称为表级约束
列级约束既可以在列定义时声明,也可以在列定义后声明
表级约束只能在列定义后声明
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理