一、登录

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 查询部分内容相对较多,后面我们单独记录讨论。