数据库管理系统的数据模型:
层次模型、网状模型和关系模型(常用关系模型)
mysql常用命令:
登录mysql数据库的命令:
mysql -uroot -p密码
使用全名的方式登录数据库:
mysql --user=root --password=密码
查看数据库的编码字符集:
show variables like 'char%'
查看有多少个数据库:
show databases;
常见数据库的命令:
create database [if not exists] 数据库名 [character set 'utf8'];
[if not exists]判断数据库是否存在
[character set 'utf8']指定编码字符集
删除数据库的命令:
drop database 数据库名;
启动数据库的命令(如果要建表必须先启动数据库)
use 数据库名;
创建数据表的命令:
create table 表名(
字段名 字段类型,字段名 字段类型……字段名 字段类型);
退出数据库的命令
exit
查看数据库中有多少个数据表命令
show tables;
查看数据表中的表结构:
desc 表名;
删除数据表
drop table 表名;
常用数据类型:
1.数值型(数字型)
2.字符串类型(用单引号引起来)
varchar 变长字符串 (假如没有用完设定的字符长度,系统会删除剩余的字符空间)
char 定长字符串 (没有使用的空字符空间不会被删除)
当数据长度确定的时候就用char类型
当数据长度不确定的时候就使用varchar类型
3.null(指不确定)
4.日期类型(导入java.sql.date包)
创建表,包含主键
create table 表名(
id int primary key auto_increment,
name varchar(20) not null unique,
owner varchar(20) not null,
species varchar(20),
sex char(1),
birth date
);
查询数据:
select * from 表名
清空表中的数据:
truncate 表名
删除表中信息
delete from 表名;
向表中插入数据:
insert into 表名 values(字段1值,字段2值……字段值);
例如:
insert into student values(‘name’,23);值与表中顺序要一一对应。(用控制台不能插入中文。因为编码格式不对应)
向数据表中插入某个字段的数据:
insert into 表名(字段名,……,字段名) values(字段值,……,字段值);
查询表中的数据:(*表示所有的字段)
select * from 表名;
查询表中某个字段的数据:
select 字段名,……,字段名 from 表名
带条件查询数据表中的数据:
select * from 表名 where 条件;
带条件查询数据表中的某一个字段:
select 字段名 from 表名 where 条件;
向数据表中添加字段
alter table 表名 add 字段名 字段类型;
删除数据表中的某个字段
alter table 表名 drop 字段名;
修改数据表中的字段类型:
alter table 表名 modify 字段名 字段类型;
修改数据表中的字段名:
alter table 表名 change 旧字段名 新字段名 字段类型;
修改数据表名
alter table 旧表名 rename 新表名;
修改数据表中的数据:
update 表名 set 字段名=字段值;
修改数据表中的数据带条件:
update 表名 set 字段名=字段值 where 条件;
修改数据表中多个字段的数据:
update 表名 set 字段1=字段值,……,字段=字段值 ;
带条件修改数据表中多个字段的数据;
update 表名 set 字段1=字段值,……,字段=字段值 where 条件;
在现有的值中修改某个字段值:(仅限于数值型)
update 表名 set 字段名=字段名+值;
带条件删除数据
delete from 表名 where 条件;
删除数据表中所有的数据:(delete删除表中的数据,但是表还在,drop删除表,数据和表都不存在)
delete from 表名;
where字句的使用:
where字句使用时有限制的 where只能跟在select,update,delete之后
where字句后边可以跟哪些连接词:
1.like 模糊查询
% 可以匹配一个或者多个任意的字符,%可以放在前边,也可以放在后边,也可以两边都有
select * from 表名 where 字段名 like '%字段值'
_ 可以匹配一个任意的字符,可以作为前缀、后缀或前后缀。
select * from 表名 where 字段名 like '_字段值'
2.length 表示字段值的长度
select * from 表名 where 字段名 like '%字段值' and length(字段名)=长度;
3.and 并且
select * from 表名 where 条件 and 条件;
4.or 或者
select * from 表名 where 条件 or 条件;
5.is null 判断是否为null
select * from 表名 where 字段名 is null;
6.between and 两者之间
select * from 表名 where 字段名 between 数值 and 数值;
7.in
select * from 表名 where 字段名 in (数值,数值,数值);
select * from 表名 where 条件 or 条件 or 条件;
两句的结果一样。