mysql-Alter

1、创建表格时添加: create table tablename(id int auto_increment primary key,...) 
2、创建表格后添加: alter table tablename add id int auto_increment primary key
3、设置主键:alter table tablename add primary key(field_name);
4、重命名表: alter table table_old_name rename table_new_name;
5、改变字段的类型:alter table tableName modify field_name field_type;
6、重命名字段:alter table tableName change old_field_name new_field_name new_field_type;
7、删除字段:alter table tableName drop column field_name;
8、增加一个新字段:alter table tableName add new_field_name field_type;   
                                  alter table tableName add new_field_name field_type not null default '0';
9、新增一个字段,默认值为0,非空,自动增长,主键:alter table tabelname add new_field_name field_type default 0 not null   auto_increment ,add primary key (new_field_name);   

创建一个表
create table pre_common_usernotes (id int(8) not null primary key auto_increment, user_id char(20) not null, order_id char(20) not null, pub_id char(20) not null, ad_name char(20) , ad_id int(8), device char(20) , system_name char(20), channel int(8), price double(16,2), point int(8), ts int(10) not null default'0', sign char(30));

创建数据库并设置数据库默认字段编码格式
create database database_name default charset utf8 collate utf8_unicode_ci;

设置auto_increment字段的最小值
ALETER TABLE table_name AUTO_INCREMENT=100000

### MySQL 5.7 设置 Root 用户密码及初始化数据目录问题解决方案 #### 初始化数据目录报错:数据目录非空 在执行 `mysqld --initialize-insecure` 命令时,如果出现 `data directory has files in it` 的错误,说明目标数据目录中已经存在文件或子目录[^1]。需要先清理数据目录以确保其为空。可以使用以下命令删除数据目录中的所有内容: ```cmd rmdir /S /Q D:\study\mysql-5.7\data ``` #### 配置文件设置 创建或修改 MySQL 的配置文件 `my.ini`,确保其中的 `datadir` 路径与实际数据目录一致,并包含必要的配置项[^3]。以下是一个示例配置文件: ```ini [mysqld] datadir=D:/study/mysql-5.7/data port=3306 character-set-server=utf8mb4 default-storage-engine=INNODB [client] default-character-set=utf8mb4 ``` #### 初始化数据库 完成数据目录清理和配置文件设置后,重新执行初始化命令: ```cmd mysqld --defaults-file="D:\study\mysql-5.7\my.ini" --initialize-insecure ``` 如果初始化成功,数据目录将生成必要的文件和子目录。 #### 设置 Root 用户密码 在 MySQL 5.7 中,可以通过以下方式设置或修改 Root 用户密码: 1. **通过 SQL 命令修改密码** 登录到 MySQL 后,执行以下命令修改 Root 用户密码: ```sql ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` 如果在执行此命令时遇到语法错误,请检查是否启用了 `skip-grant-tables` 模式[^5]。 2. **启用 `skip-grant-tables` 模式** 在 `my.ini` 文件中添加以下行以跳过权限检查: ```ini [mysqld] skip-grant-tables ``` 然后重启 MySQL 服务并登录,无需输入密码。登录后执行以下命令刷新权限并修改密码: ```sql FLUSH PRIVILEGES; ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; ``` 3. **解决 Access Denied 错误** 如果在登录时遇到 `ERROR 1045 (28000): Access denied for user 'root'@'localhost'` 错误,可能是由于密码错误或权限问题[^2]。按照上述方法重置密码即可解决问题。 #### 常见问题排查 - **权限问题**:确保 MySQL 进程对数据目录具有读写权限。可以通过以下命令授予权限: ```cmd icacls "D:\study\mysql-5.7\data" /grant "NT AUTHORITY\NetworkService:(OI)(CI)F" ``` - **端口冲突**:如果默认端口 3306 被占用,可以在 `my.ini` 中更改端口号(例如设置为 3307),然后重新初始化和启动服务。 - **依赖库缺失**:如果系统缺少 Visual C++ 2013 运行库,可能导致服务启动失败。请下载并安装最新版本的 VC++ Redistributable[^2]。 ### 示例脚本 以下是一个完整的初始化和服务启动脚本: ```cmd @echo off :: 清理数据目录 rmdir /S /Q D:\study\mysql-5.7\data :: 初始化数据库 mysqld --defaults-file="D:\study\mysql-5.7\my.ini" --initialize-insecure :: 安装服务 mysqld --install mysql5.7 --defaults-file="D:\study\mysql-5.7\my.ini" :: 启动服务 net start mysql5.7 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值