准备:首先你要安装一个mysql的数据库
1.以管理员身份打开命令行窗口(cmd)
2.启动数据库
net start mysql
3.关闭数据库
net stop mysql
4.查看数据库的版本
mysql -V
(v要大写)
输出:mysql Ver 14.15 Distrib 6.0.11-alpha, for Win64 (unknown)
5.查看mysql 的帮助
mysql --help
(注意有两个短杠)
输出一堆东西
6.登陆MySql服务器
mysql -uroot -p
然后输入自己的密码即可登录mysql服务器
如果输出:ERROR 2003 (HY000): Can't connect to MySQL server on 'localhost' (10061)
这是因为mysql的服务器没有启动 输入net start mysql 重新启动即可
7.登录服务器后
输入:status 可查看服务器状态
下面是mysql数据库的一些常规操作。
mysql和oracle的不同点:
- 一个oracle就是一个数据库。
- 而一个mysql中可以有多个数据库
准备:登录到数据库
注意:每一个命令都要以;分号结束。
- 显示所有数据库:
show databases;
- 创建数据库:create database 数据库名。eg:
create database myweb;
- 建立数据库表:
- 选择使用的数据库:use 数据库名; eg:
use myweb;
- 创建表:create table 数据库表名 (字段名 类型 ,字段名 类型);
- 选择使用的数据库:use 数据库名; eg:
CREATE TABLE student(
id int(11) NOT NULL AUTO_INCREMENT,
studentID int(11) NOT NULL UNIQUE,
name varchar(255) NOT NULL,
age int(11) NOT NULL,
sex varchar(255) NOT NULL,
PRIMARY KEY (id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
- 删除表:drop table 数据库表名 ; eg:
drop table student;
- 删除数据库:drop database 数据库名: eg
drop database myweb;
- 将数据库表中的数据清空: delete from 数据库表名 : eg
delete from student;
- 向数据库表中插入数据: insert into 数据库表名 values () ;eg:
insert into student values(1,001,'张三',18,'男');
- 更新表中的记录:update 数据库表名 set 字段名1='a',字段名2='b' WHERE 字段名3='c';eg:
update student set name='李四',age=19 where id=1;
- 导入sql文件命令:
- use 数据库表名
- source 路径; eg:
source d:myweb.sql;
2019/2/19 更新
- 查看当前数据库的字符集
show variables like 'char_%';
看第三个,列出的是当前数据库使用的字符编码
- JDBC连接MYSQL乱码解决
- 方法一:
如果是通过DriverManager.getConnection(url)编码方式操作JDBC,可以在JDBC的url中追加useUnicode=true&characterEncoding=UTF-8解决乱码问题
jdbc.url=jdbc:mysql://127.0.0.1:3306/mydb?useUnicode=true&characterEncoding=UTF-8
- 方法二:
如果是通过其它数据源,比如DBCP、tomcat-jdbc、c3p0、spring-jdbc、hibernate读取配置文件,在url中追加useUnicode=true&characterEncoding=UTF-8是不起作用的,而是通过数据源自身的配置生效,比如下列配置:
<!-- Tomcat data source -->
<bean id="dataSource" class="org.apache.tomcat.jdbc.pool.DataSource">
<property name="driverClassName" value="${jdbc.driverClassName}" />
<property name="url" value="${jdbc.url}" />
<property name="username" value="${jdbc.username}" />
<property name="password" value="${jdbc.password}" />
<property name="dbProperties">
<props>
<prop key="useUnicode">yes</prop>
<prop key="characterEncoding">utf8</prop>
</props>
</property>
<!-- Configuration refer to optimizing connection performance -->
<property name="initialSize" value="10" />
<property name="maxActive" value="100" />
<property name="maxIdle" value="50" />
<property name="minIdle" value="10" />
<property name="suspectTimeout" value="60" />
<property name="timeBetweenEvictionRunsMillis" value="30000" />
<property name="minEvictableIdleTimeMillis" value="60000" />
<property name="testOnBorrow" value="true" />
<property name="validationQuery" value="SELECT 1" />
<property name="validationInterval" value="30000" />
<!-- End Configuration refer to optimizing connection performance -->
</bean>
其中:
<props>
<prop key="useUnicode">yes</prop>
<prop key="characterEncoding">utf8</prop>
</props>
等价于url中的useUnicode=true&characterEncoding=UTF-8
参考链接:# mysql jdbc 中文乱码解决方案