一、登录
MySQL是一个需要账户名和密码登录的数据库,而登录的方式也多种多样。
1、命令行
格式1:cmd> mysql –u用户名 –p密码
例如:mysql -uroot –proot
格式2:cmd> mysql --host=ip地址 --user=用户名 --password=密码
例如:mysql --host=127.0.0.1 --user=root --password=root
2、图像化工具
二、MySQL 的操作 - SQL语句
SQL: 结构化查询语言(Structured Query Language),是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。
SQL 分类
1、数据定义语言:DDL(Data Definition Language),用来定义数据库对象:数据库,表,列等。关键字:create alter drop 等
2、数据操作语言:DML(Data Manipulation Language),用来对数据库中表的记录进行更新。关键字:insert delete update 等
3、数据控制语言:DCL(Data Control Language),用来定义数据库的访问权限和安全级别,及创建用户。
4、数据查询语言:DQL(Data Query Language),用来查询数据库中表的记录。关键字:select from where 等
SQL 的通用语法
- SQL 语句可以单行或多行书写,但都以 分号 结尾
- 可使用空格和缩进优化格式,增强语句的可读性
- MySQL 数据库中的 SQL 语句不区分大小写,建议使用 大写。eg:SELECT * FROM emp;
- 注释的方式:/* 需要被注释的内容 ,多行注释*/ – 单行注释内容
- MySQL中常用的数据类型如下
int — 整型
double — 浮点型
varchar — 字符串型
date — 日期类型,格式为 yyyy-MM-dd,只有年月日,没有时分秒
数据库中详细的数据类型如下
数据库相关操作
- 创建数据库
格式:
1、create database 数据库名;
2、create database 数据库名 character set 字符集;
栗子:
#创建数据库 数据库中数据的编码采用的是安装数据库时指定的默认编码 utf8
CREATE DATABASE emp;
#创建数据库 并指定数据库中数据的编码
CREATE DATABASE emp CHARACTER SET utf8;- 查看数据库
#查看数据库 MySQL 服务器中的所有数据库
show databases;
#查看某个数据库的定义信息
show create database 数据库名;- 删除数据库
drop database 数据库名;- 切换数据库
use 数据库名;- 查看正在使用的数据库
select database();
数据表相关语句
创建表
create table 表名(
字段名1 类型(长度) 约束,
字段名2 类型(长度) 约束
);
eg:
create table user(
uid int primary key auto_increment,
uname varchar(20) not null
);
*PS:这里的 primary key 表示的是主键约束(唯一、非空)。如何删除主键呢? — alter table 表名 drop primary key; 。后面的 auto_increment 表示自动增长查看表
查看数据库中所有表:
show tables;
查看表结构:
desc 表名;删除表
drop table 表名;
修改表结构格式(三思而后行)
- 添加列
alter table 表名 add 列名 类型(长度) 约束;- 修改列的数据类型、长度和约束
alter table 表名 modify 列名 类型(长度) 约束;- 修改列名 及 类型、长度、约束
alter table 表名 change 旧列名 新列名 类型(长度) 约束;- 删除列
alter table 表名 drop 列名;- 修改表名
rename table 旧表名 to 新表名;- 修改表的字符集
alter table 表名 character set 字符集;插入表记录
语法:
insert into 表名 (列名1,列名2,列名3…) values (值1,值2,值3…); – 向表中插入某些列
insert into 表名 values (值1,值2,值3…); --向表中插入所有列
注意:
插入的数据应与字段的数据类型相同
数据的大小应该在列的长度范围内
在values中列出的数据位置必须与被加入列的排列位置相对应。
除了数值类型外,其它的字段类型的值必须使用单引号引起。
如果要插入空值,可以不写字段,或者插入 null。
对于自动增长的列在操作时,直接插入null值,或者不进行插入即可。
除了数字以外,其他类型都要加 单引号更新表记录
用来修改满足指定条件记录的数据
语法:
update 表名 set 字段名=值,字段名=值; – 表示所有记录都改
update 表名 set 字段名=值,字段名=值 where 条件;
注意:
1、列名的类型与修改的值要一致.
2、修改值得时候不能超过最大长度.
3、值如果是字符串或者日期需要加’’和 java 中不同的表示
<> 不等于
and 与
or 或
not 非删除记录
delete from 表名 [where 条件];
或者
truncate table 表名;
面试题:
删除表中所有记录使用delete from 表名; 还是用truncate table 表名;
删除方式:delete 一条一条删除,不清空auto_increment记录数。
truncate 直接将表删除,重新建表,auto_increment将置为零,从新开始。
当然也可以 delete from 表名; 不加条件直接清空数据库。
由于 SQL 查询部分内容相对较多,后面我们单独记录讨论。