一.登录本地的数据库客户端
win+r,输入cmd,输入mysql -u root -p ,接下来输入数据库密码就可以登录进去
二.SQL(结构化查询语句)的分类
a.DDL(Data Definition Language):数据定义语言
如:create ,drop, alter
b.DCL(Data Control Language): 数据控制语言
如:grant ,if
c.DML(Data Manipulation Language): 数据操纵语言
如: insert, update , delete
d.DQL(Data Query Language): 数据查询语言
如: select
三.对数据库进行操作的sql语句(中括号里面的语句是可不写的)
1.创建数据库
create database 数据库名称 【character set 字符集 collate 字符集校对规则】;
2.查看当前服务器所有的数据库
show databases;
3.查看某个数据库的定义信息
show create dabase 数据库名称;
4.修改数据库
alter database 数据库名称 character set 字符集 collate 字符集校对规则
5.删除数据库
drop database 数据库名称;
6.切换正在使用的数据库
use 数据库名称;
7.查询正在使用的数据库
selcet database();
四.对数据库表进行操作的sql语句
1.创建表
create table 表名称(字段名1 字段类型 约束,字段名2 字段类型 约束..... )
2.查看某个数据库的所有表
show tables
3.查看某表的结构信息
desc 表名
4.查看某表的建表语法
show create table 表名;
5.添加列
alter table 表名 add 列名 类型 约束;
6.修改列
alter table 表名 modifiy 列名 类型 约束;
7.删除列
alter table 表名 drop 列名;
8.修改列名称
alter table 表名 change 旧列名 新列名 类型 约束;
9.修改表名
alter table 表名 rename (to)新名;
rename table 表名 to 新名
10.删除表
drop table 表名;
补充:
数据类型对比表
除了字符串必须加上长度,其它类型都有默认长度
Java中的类型 | MYSQL中的类型 |
byte/short/int/long | tinyint/smallint/int/bigint int默认长度11 |
float | float |
double | double |
boolean | bit |
char/String | char和varchar类型 *char代表是固定长度的字符或字符串。定义类型char(8),向这个字段存入字符串hello,那么数据库使用三个空格将其补全,超过长度会报错。 * varchar代表的是可变长度的字符串。定义类型varchar(8), 向这个字段存入字符串hello,那么存入到数据库的就是hello。 |
Date | date/time/datetime/timestamp datetime和timestamp区别 |
File | BLOB/TEXT |
约束:
约束的作用 : 保证数据的完整性
单表约束分类:
主键约束: primary key 默认是唯一、非空
唯一约束: unique
非空约束: not null
五、对数据库表中的记录进行操作
1.向表中插入某些列的值
insert into 表名(列名1,列名2,列名3...)values(值1,值2,值3...);
如:insert into user (id,username,password) values (null,'aaa','123');
2.向表中插入所有列的值
insert into 表名 values(值1,值2,值3....)
如:insert into user values (null,'bbb','123',23,'1993-09-01');
注意事项:
*值的数据类型与顺序要与数据库中的表保持一致
*值的最大长度不能超过列设置最大长度
*值的类型是字符串或者是日期类型,使用单引号引起来
*插入数据的时候要符合定义时的约束
3.修改某一列的所有值
update 表名 set 列名1=值1;
4.修改符合某个条件的所有记录的某些值
update 表名 set 列名1=值1,列名2=值2 where 条件;
5.根据条件删除表中的记录
delete from 表名 where 条件;
6.删除表中的所有记录
delete from 表名;
注意:删除表记录的两种做法
a.delete from user;
删除所有记录,属于DML语句,一条记录一条记录的删除,可以用rollback回滚删除的数据
b.truncate table user
删除所有记录,属于DDL语句,将表删除,然后重新创建一个结构一样的表,不能用事务控制,数据无法找回;
7.查看表中的所有记录
select [distinct] 列名...| * from 表名 【where 条件 】
*distinct 的作用:去掉重复值
*查询所有的数据:添加所有的列名或者加上*,实际开发用前者,后者的查询速度很慢
*where 条件: 根据某一个条件查询
8条件查询
使用where子句:
>,>=,<=,< ,<>(!=), =
like:模糊查询,必须使用_或者%作为占位符,_只能代表一个字符,%代表任意个字符
in :范围查询
and ,or ,nor :条件关联
9.排序查询
select * from 表名 order by 列名 asc(升序)/desc(倒序)
10.求出某列的和
select sum(列名) from 表名;
11.统计个数
select count(*) from