目录
一.MySQL数据库管理
1.库和表
- 数据库 ----> 数据表 -----> 行(记录):用来描述一个对象的信息
- 数据库 ----> 数据表 -----> 列(字段):用来描述对象的一个属性
2.常用的数据类型
- int :整型
- float :单精度浮点 4字节32位
- double :双精度浮点 8字节64位
- char :固定长度的字符类型
- varchar :可变长度的字符类型
- text :文本
- image :图片
- decimal(5,2) :5个有效长度数字,小数点后面有2位
3.SQL语句分类
- DDL:数据定义语言,用于创建数据库对象,如库、表、索引等。(create )
- DML:数据操纵语言,用于对表中的数据进行管理,用来插入、删除和修改数据库中的数据(insert drop delete update )
- DQL:数据查询语言,用于从数据表中查找符合条件的数据记录(select )
- DCL:数据控制语言,用于设置或者更改数据库用户或角色权限(grant )
二.查看数据库结构
1.查看数据库结构
1.查看当前服务器中的数据库
MySQL root@(none):(none)> show databases;
不区分大小写,但是最好大写。要以分号;结尾
2.切换数据库,查看数据库中的表
MySQL root@(none):(none)> use mysql;
MySQL root@(none):mysql> show tables;
3.查看表的结构(字段)
MySQL root@(none):mysql> desc db;
MySQL root@(none):mysql> desc mysql.db;
2.创建和删除数据库和表
1.创建数据库
MySQL root@(none):mysql> create database ooo;
2.创建表
MySQL root@(none):ooo> create table oyyy(id int not null,name char(10) not null,age int,primary key (id));
法一:
MySQL root@(none):ooo> desc ooo.oyyy;
法二:
MySQL root@(none):ooo> desc oyyy;
3.删除表
法一:
MySQL root@(none):ooo> drop table oyyy;
法二:
MySQL root@(none):ooo> drop table ooo.oyyy;
4.删除数据库
MySQL root@(none):(none)> drop database ooo;
3. 管理表中的数据记录
1.向数据表中插入新的数据记录
法一:
MySQL root@(none):ooo> insert into oyyy (id,name,age) values (1,'yibo',18);
MySQL root@(none):ooo> select * from oyyy;
法二:
MySQL root@(none):ooo> insert into oyyy values (2,'zhan',20);
主键具有唯一性,不能为空
2.查询数据记录
MySQL root@(none):ooo> select * from oyyy;
MySQL root@(none):ooo> select id from oyyy where age=18;
一般查询数据记录要与where连用,选择条件
以列表方式竖向显示 \G
MySQL root@(none):mysql> select * from user\G;
显示前2行
MySQL root@(none):ooo> select * from oyyy limit 2;
MySQL root@(none):ooo> select * from oyyy limit 2,2;
是从第三个记录开始,连续两个记录(即3,4条记录)
3.修改、更新数据表中的数据记录
MySQL root@(none):ooo> update oyyy set name='hhh' where id=3;
MySQL root@(none):ooo> update oyyy set name='ooo',age=22 where id=4;
也可以多个字段同时修改
4.数据表中删除指定的数据记录(三思而后行)
MySQL root@(none):ooo> delete from oyyy where id=5;
MySQL root@(none):ooo> delete from oyyy 这就是删除整个表
4.修改表名和表结构
1. 修改表名
MySQL root@(none):ooo> alter table oyyy rename oyyy1;
2. 扩展表结构(增加字段)
MySQL root@(none):ooo> alter table oyyy add address varchar(50) default 'sorry i donnot know';
default 'sorry i donnot know' 表示新增字段设置默认值 地址未填写!;可与 NOT NULL 配合使用
3. 修改字段(列)名,添加唯一键
MySQL root@(none):ooo> alter table oyyy change name use_name char(30) unique key;
CHANGE可修改字段名、数据类型、约束等所有项
unique key 添加唯一键,唯一键可以为空
添加记录
MySQL root@(none):ooo> insert into oyyy values (5,'sss',23,'jiangsu');
MySQL root@(none):ooo> insert into oyyy values (6,'sss',24,'nantong');
因为设置了use_name为唯一键,所以不能重复
4.删除字段
MySQL root@(none):ooo> alter table oyyy drop age;