文章目录
使用mysql数据库
一、查看数据库结构
1.1查看当前服务器中包含的库
SHOW DATABASES;
1.2查看当前使用的库中包含的表
MYSQL数据库的数据文件存放于/usr/local/mysql/data目录下,每个数据库对应一个子目录,用于存储数据表文件。每一个数据表文件对应三个文件,后缀名分别为.“frm” ".myd " “.myi”。
少数以opt、csm 、csv、ibd结尾的。
USE mysql; 切换到所使用的库
SHOW TABLES;
1.3有几个用户
select user from user;
1.4查看表的结构(字段)
DESCRIBE 数据库名. 表名
1.5SQL语言概述
-
SQL语言
是Structured Query Language的缩写,及结构化查询语言
是关系型数据库的标准语言
用于维护管理数据库,如数据查询,数据更新,访问控制,对象管理等功能
-
SQL分类
DDL:数据定义语言
DML:数据操纵语言
DQL:数据查询语言
DCL:数据控制语言
二、创建及删除库和表
2.1创建新的库
CREATE DATABASES 库名;
2.2创建新的表
CREATE TABLE表名(字段01名称字段01类型字段01约束,字段02名字段02类型字段02约束……)存储引擎,字符集
字段01名称∶属性名称,自定义
字段01类型∶
int(5)整型 00000-99999
double 浮点型8字节
decimal(5,2)有效数字是5位,小数点后面保留2位 100.00 099.50
float 单精度浮点4字节char(10)固定长度字符串
varchar(50)可变长度字符串
char 字符
字段01约束∶
非空约束∶内容不允许为空
主键约束∶非空且唯一 标识
默认值∶假如没有填数据,默认预先设定的值填写
自增特性∶id 1234 auto_increment
存储引擎∶myisam innodb
字符集∶UTF-8
示例
use school
create table info (id int(3) not null primary key auto_increment,name varchar(10) not null,score decimal(5,2),address varchar(50) default’ 未知’);
2.3 drop table 表名;删除表
示例
drop table tmp;
2.4删除一个数据库
DROP DATABASE score;
三、管理表中数据记录
3.1插入数据记录
insert into 表名(字段1,字段2,…)values(字段1的值,字段2的值,…)
insert into info (id,name,score,address) values (1,‘张三’ ,‘75.5’, ‘南京’ );
不加字段,默认所有字段(必须写全)
insert into info values (2,‘李四’,‘78’,‘上海’);
insert into info (name,score,address) values (‘王五’,88,‘苏州’),(‘王二麻子’,60,default);
default 默认字段为之前创建表时设置的约束字段
3.2查询数据记录
SELECT字段名1,字段名2…FROM表名 where 条件表达式
'*'可以表示筛选所有字段,若显示所有数据记录可以省略WHERE条件语句
示例
select * from school.info;
若依据特定条件查找记录时,WHERE条件语句必不可少。
示例
select * from info where score >80;
把筛选出的内容创建成一张新表
create table tmp as select * from info where score >75;
3.3修改、更新数据表中的数据记录
update 表名 set 字段名 1=值1[,字段名2=值2] where条件表达式
示例
将info表中address对应的"未知"改为常州
update info set address=‘常州’ where name=‘王二麻子’;
3.4设置用户权限
- 若用户已存在,则更改用户密码
- 若用户不存在,则新建用户
- GRANT 权限列表 ON 数据库名.表名 TO 用户名@来源地址 [IDENTIFIED BY ‘密码′ ]
mysql> grant all privileges on *.* to 'tom'@'%' identified by 'abc123' with grant option;
'//all privileges:所有权限,%:所有终端'
Query OK, 0 rows affected, 1 warning (0.00 sec)
flush privileges;
3.5跳过密码登录
vim /etc/my.cnf
skip-grant-tables 跳过表的加载
3.6修改登录密码
update mysql.user set authentication_string =password(‘1234567’) where user=‘tom’;
3.7删除数据记录
delete from 表名 where条件表达式
示例 删除school库中tmp表中分数大于80的记录
delete from school.tmp where score >80;
注:不带where 条件情况下,删除整个表,慎用!!!!
3.8清空表
truncate table 表名 清空表内数据
示例
truncate table info;
delect from 表名 删除表
示例
drop table tmp;
[外链图片转存中…(img-oU3mFzDN-1597752357957)]
注:不带where 条件情况下,删除整个表,慎用!!!!
3.8清空表
truncate table 表名 清空表内数据
示例
truncate table info;
[外链图片转存中…(img-qo4zQOnO-1597752357958)]
delect from 表名 删除表
示例
drop table tmp;