mysql取消大小写
时间: 2024-07-02 22:01:14 浏览: 129
MySQL本身并不直接支持取消表名或列名的大小写敏感性,这是由数据库管理系统底层设计决定的,大部分SQL方言包括MySQL都是区分大小写的。然而,你可以通过创建数据库时设置特定的配置参数或者在连接到数据库时使用特定的命令来调整这一行为。
1. **系统变量**:在MySQL中,可以通过`lower_case_table_names`这个系统变量来控制表名的大小写敏感性。它有四个可能的值(0, 1, 2, 3),其中0表示默认的区分大小写行为。如果你希望所有表名都忽略大小写,可以将其设置为1:
```sql
SET SESSION lower_case_table_names=1;
```
但请注意,这会影响新创建的表,对现有表无效。
2. **配置文件**:在MySQL服务器启动时,可以在my.cnf或my.ini文件中设置`lower_case_table_names`。重启服务后,新的设置会生效。
3. **客户端连接**:一些数据库客户端工具(如phpMyAdmin)允许你在连接数据库时设置这个选项。
然而,强烈建议始终遵循一致的命名约定,因为大小写敏感性有助于代码的可读性和维护性。
相关问题
linux安装mysql 8.0 取消大小写敏感
要在Linux上安装MySQL 8.0并取消大小写敏感,可以按照以下步骤进行操作:
1. 首先,按照亮亮同学的教程,安装MySQL 8.0。可以参考引用中的详细图文教程。
2. 安装完成后,将mysqld服务添加到系统。使用以下命令将mysql.server复制到/etc/init.d/mysql目录下:
```
cp -a ./support-files/mysql.server /etc/init.d/mysql
```
3. 授权并添加服务。使用以下命令修改权限和添加服务:
```
chmod x /etc/init.d/mysql
chkconfig --add mysql
```
4. 启动MySQL服务。使用以下命令启动MySQL:
```
systemctl start mysql
```
5. 将mysql命令添加到系统路径。使用以下命令创建符号链接:
```
ln -s /usr/local/mysql-8.0/bin/mysql /usr/bin
```
6. 登录MySQL。使用以下命令登录到MySQL:
```
mysql -uroot -p
```
7. 修改密码。使用以下命令修改root用户的密码:
```
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
```
8. 刷新服务。使用以下命令刷新MySQL服务:
```
flush privileges;
```
9. 切换到mysql数据库。使用以下命令切换到mysql数据库:
```
use mysql;
```
10. 允许所有IP远程访问并刷新服务。使用以下命令更新用户权限并刷新MySQL服务:
```
update user set host='%' where user='root';
flush privileges;
```
如果你想取消MySQL的大小写敏感设置,可以按照以下步骤进行操作:
1. 停止MySQL服务。使用以下命令停止MySQL服务:
```
service mysql stop
```
2. 编辑MySQL配置文件。使用编辑器打开/etc/my.cnf文件,并在[mysqld]部分添加以下内容:
```
lower_case_table_names=1
```
3. 重新初始化MySQL。使用以下命令重新初始化MySQL:
```
mysqld --user=mysql --basedir=/opt/mysql/basedir --datadir=/opt/mysql/datadir --lower-case-table-names=1 --initialize
```
4. 启动MySQL服务。使用以下命令启动MySQL服务:
```
service mysql start
```
5. 修改密码。使用以下命令登录到MySQL并修改root用户的密码:
```
mysql -u root -p(临时密码)
ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
```
6. 重新创建用户和授权。使用以下命令创建新的用户并授权:
```
create user '用户名'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
grant all on *.* to '用户名'@'%';
```
请注意,在取消大小写敏感设置之前,请确保备份所有数据库数据。取消大小写敏感设置会导致数据丢失。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* [【linux&&mysql8.0】linux 中mysql8.0数据库忽略大小写](https://blog.csdn.net/qq_40946177/article/details/130078399)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *3* [MySQL8.0表名大小写问题(Linux)](https://blog.csdn.net/tongxin_tongmeng/article/details/128293686)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
使用Java和swing和MySQL用代码写出一个大概的宿舍管理系统
好的,下面是一个大概的宿舍管理系统的Java代码示例,使用了Java Swing和MySQL:
```
import java.sql.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class DormitoryManagementSystem extends JFrame implements ActionListener {
JPanel panel;
JLabel user_label, password_label, message;
JTextField userName_text;
JPasswordField password_text;
JButton submit, cancel;
DormitoryManagementSystem() {
user_label = new JLabel();
user_label.setText("用户名:");
userName_text = new JTextField();
password_label = new JLabel();
password_label.setText("密码:");
password_text = new JPasswordField();
submit = new JButton("登录");
cancel = new JButton("取消");
panel = new JPanel(new GridLayout(3, 1));
panel.add(user_label);
panel.add(userName_text);
panel.add(password_label);
panel.add(password_text);
message = new JLabel();
panel.add(message);
panel.add(submit);
panel.add(cancel);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// 设置窗体大小
setSize(500, 500);
panel.setBackground(Color.LIGHT_GRAY);
add(panel, BorderLayout.CENTER);
// 设置标题
setTitle("宿舍管理系统");
setVisible(true);
setLocationRelativeTo(null);
submit.addActionListener(this);
cancel.addActionListener(this);
}
public static void main(String[] args) {
new DormitoryManagementSystem();
}
@Override
public void actionPerformed(ActionEvent e) {
String userName = userName_text.getText();
String password = password_text.getText();
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://localhost:3306/dormitory_management_system", "root", "123456");
PreparedStatement st = con.prepareStatement("select * from users where username=? and password=?");
st.setString(1, userName);
st.setString(2, password);
ResultSet rs = st.executeQuery();
if (rs.next()) {
message.setText("登录成功!");
this.dispose();
new Dashboard();
} else {
message.setText("用户名或密码错误!");
}
rs.close();
st.close();
con.close();
} catch (Exception ex) {
System.out.println(ex);
}
}
class Dashboard extends JFrame implements ActionListener {
JMenuBar menuBar;
JMenu menu1, menu2, menu3;
JMenuItem menuItem1, menuItem2, menuItem3, menuItem4, menuItem5, menuItem6, menuItem7, menuItem8,
menuItem9;
Dashboard() {
menuBar = new JMenuBar();
menu1 = new JMenu("系统管理");
menuItem1 = new JMenuItem("用户管理");
menuItem1.addActionListener(this);
menuItem2 = new JMenuItem("角色管理");
menuItem2.addActionListener(this);
menuItem3 = new JMenuItem("权限管理");
menuItem3.addActionListener(this);
menu1.add(menuItem1);
menu1.add(menuItem2);
menu1.add(menuItem3);
menu2 = new JMenu("学生管理");
menuItem4 = new JMenuItem("学生信息管理");
menuItem4.addActionListener(this);
menuItem5 = new JMenuItem("学生入住管理");
menuItem5.addActionListener(this);
menuItem6 = new JMenuItem("学生缺寝管理");
menuItem6.addActionListener(this);
menu2.add(menuItem4);
menu2.add(menuItem5);
menu2.add(menuItem6);
menu3 = new JMenu("宿舍管理");
menuItem7 = new JMenuItem("宿舍楼信息管理");
menuItem7.addActionListener(this);
menuItem8 = new JMenuItem("宿舍信息管理");
menuItem8.addActionListener(this);
menuItem9 = new JMenuItem("统计报表");
menuItem9.addActionListener(this);
menu3.add(menuItem7);
menu3.add(menuItem8);
menu3.add(menuItem9);
menuBar.add(menu1);
menuBar.add(menu2);
menuBar.add(menu3);
setJMenuBar(menuBar);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(500, 500);
setTitle("宿舍管理系统");
setVisible(true);
setLocationRelativeTo(null);
}
@Override
public void actionPerformed(ActionEvent e) {
if (e.getSource() == menuItem1) {
new UserManagement();
} else if (e.getSource() == menuItem2) {
new RoleManagement();
} else if (e.getSource() == menuItem3) {
new PermissionManagement();
} else if (e.getSource() == menuItem4) {
new StudentInformationManagement();
} else if (e.getSource() == menuItem5) {
new StudentAccommodationManagement();
} else if (e.getSource() == menuItem6) {
new StudentAbsenteeismManagement();
} else if (e.getSource() == menuItem7) {
new DormitoryBuildingInformationManagement();
} else if (e.getSource() == menuItem8) {
new DormitoryInformationManagement();
} else if (e.getSource() == menuItem9) {
new ReportManagement();
}
}
}
class UserManagement extends JFrame {
UserManagement() {
// 用户管理界面代码
}
}
class RoleManagement extends JFrame {
RoleManagement() {
// 角色管理界面代码
}
}
class PermissionManagement extends JFrame {
PermissionManagement() {
// 权限管理界面代码
}
}
class StudentInformationManagement extends JFrame {
StudentInformationManagement() {
// 学生信息管理界面代码
}
}
class StudentAccommodationManagement extends JFrame {
StudentAccommodationManagement() {
// 学生入住管理界面代码
}
}
class StudentAbsenteeismManagement extends JFrame {
StudentAbsenteeismManagement() {
// 学生缺寝管理界面代码
}
}
class DormitoryBuildingInformationManagement extends JFrame {
DormitoryBuildingInformationManagement() {
// 宿舍楼信息管理界面代码
}
}
class DormitoryInformationManagement extends JFrame {
DormitoryInformationManagement() {
// 宿舍信息管理界面代码
}
}
class ReportManagement extends JFrame {
ReportManagement() {
// 统计报表界面代码
}
}
}
```
上述代码仅为示例,具体实现细节和代码实现需要根据具体需求进行开发。
阅读全文