MySql - 基础使用 【创建数据库, 表, 索引】

# MySQL 数据库表相关



# 本demo由 baldyoung 提供
########################################################################
#(以Windows系统为例,需确保当前路径能够搜索到mysql.exe这个可执行文件,如果没有配置环境变量,记得切换到mysql的bin目录)
-- cmd连接MySQL数据库
mysql -h 地址 -u 用户 -p 数据库名
(例如>> mysql -h localhost -u root -p mysql)
-- 执行SQL脚本
source 绝对路径或者相对路径/文件名.sql;
########################################################################
# 数据库的常见操作
-- 切换数据库
USE mysql;
-- 查看建数据库的语句
SHOW CREATE DATABASE mysql;
-- 罗列当前数据库下的所有表
SHOW TABLES;
-- 查看建表的语句
SHOW CREATE TABLE db;
-- ------ 因MySQL版本的不同,修改密码的方式可能不同!
-- 修改账号密码(方法一)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
-- 修改账号密码(方法二)
update user set password=password('新密码') where user='用户名';
-- 修改账号密码(方法三)
update mysql.user set authentication_string=password('新密码') where user='用户名';
-- 同步当前变动
FLUSH PRIVILEGES;

########################################################################
# 创建数据库
/*
CHARACTER 指定数据库存储字符串的默认字符集;
COLLATE 指定数据库的默认校对规则,用来比较字符串的方式,解决排序和字符分组的问题;
*/
CREATE DATABASE IF NOT EXISTS targetDB
	DEFAULT CHARACTER SET utf8
	DEFAULT COLLATE utf8_general_ci;
-- 跳转到指定数据库下
USE targetDB;
-- 创建表
-- ---------------------------------------- 用户表
DROP TABLE IF EXISTS x_user;
CREATE TABLE x_user (
	userId INT UNSIGNED UNIQUE NOT NULL AUTO_INCREMENT COMMENT'主键[唯一, 非空]{默认:自增}',
	userName VARCHAR(10) NOT NULL COMMENT'用户名称',
	userAccount VARCHAR(10) UNIQUE NOT NULL COMMENT'用户登录名',
	userEmail VARCHAR(30) NOT NULL COMMENT'用户邮箱',
	userPassword VARCHAR(8) NOT NULL COMMENT'用户登录密码',
	userStatus SMALLINT DEFAULT 0 COMMENT'用户状态',
	userInfo VARCHAR(50) COMMENT'用户备注',
	updateDateTime DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最近修改时间',
	createDateTime DATETIME DEFAULT CURRENT_TIMESTAMP COMMENT'创建时间',
	PRIMARY KEY (userId)
) AUTO_INCREMENT=1001;
-- 创建索引
CREATE INDEX index_userEmail ON x_user(userEmail); 
-- 数据操作
INSERT INTO x_user (userName, userEmail, userAccount, userPassword) 
VALUES ('测试账号', 'email@126.com', 'test', 'password');
DELETE FROM x_user WHERE userId = 0;
UPDATE x_user SET userId = 0 WHERE userId = 0;
-- 展示指定表的字段数据
SHOW FULL FIELDS FROM x_user;
# 修改数据库表
-- 新增字段(int类型)
ALTER TABLE testUser ADD COLUMN arg_not_null INT NOT NULL AFTER id; # int类型的字段在这种情况下会被默认设为0
ALTER TABLE testUser ADD COLUMN arg_can_null INT AFTER id; # 在未指明not null时,默认是null
ALTER TABLE testUser ADD COLUMN arg_default_value INT DEFAULT 3; # 所以新增一个字段,最好还是指明默认数值
-- 新增字段(varchar类型)
ALTER TABLE testUser ADD COLUMN arg_type_varchar VARCHAR(50) NOT NULL; # varchar类型默认是一个空字符串
ALTER TABLE testUser ADD COLUMN arg_type_varchar_can_null VARCHAR(50); # 未指明not null时,默认是null
ALTER TABLE testUser ADD COLUMN arg_type_varchar_default_value VARCHAR(20) NOT NULL DEFAULT '我的天'; # 所以新增一个字段,最好还是指明默认值
-- 新增字段(timestamp类型)
ALTER TABLE testUser ADD COLUMN update_date TIMESTAMP FIRST;
ALTER TABLE testUser ADD COLUMN old_name TIMESTAMP DEFAULT CURRENT_TIMESTAMP ;
-- 修改表字段
ALTER TABLE testUser MODIFY create_date TIMESTAMP;
ALTER TABLE testUser CHANGE old_name temp INT;
ALTER TABLE testUser DROP temp;
ALTER TABLE testUser RENAME TO officialUser;
ALTER TABLE testUser ADD COLUMN lastModified TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最新修改时间';







 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值