Mysql数据库基本操作与简单管理

目录

一、MySQL数据库基本操作

1、SQL的分类

2、SQL语言的书写规范

3、数据库对象的命名

4、SQL的语句分类

5、查看帮助信息

6、查看,修改字符集

二、管理MySQL数据库

1、查看数据库的结构

1.1查看数据库

1.2查看数据库中的表

1.2.1方法一:

1.2.2方法二:

1.3查看表的结构(字段)

1.4查看mysql版本

2、数据类型

2.1常用数据类型

2.2数据类型参考

2.3整数型

2.4浮点型,近似值

2.5定点数

2.6字符串

3、创建,删除数据库和表

3.1创建新的数据库

3.2删除指定的数据库

3.3创建数据表

3.4删除指定的数据表

4、管理表中的数据记录

4.1向数据表中插入新的数据记录

4.2查询数据表内的数据记录

补充:

4.3修改,更新数据表中的数据记录

4.4在数据表中删除指定的数据记录

5、修改表名称和表的结构

5.1修改表的名称

5.2扩展表结构,增加字段

5.3修改字段(列)名,添加唯一键

5.4删除字段

6、查看,修改字符集

6.1查看MySQL支持的所有字符集

6.2查看数据字符集

6.3查看数据表的字符集

6.4修改数据库字符集


一、MySQL数据库基本操作

1、SQL的分类

数据库:database

表:table

行:row 列:column

索引:index 视图:view

存储过程:procedure

存储函数:function 

触发器:trigger

事件调度器:event scheduler 任务计划

用户:user 权限:privilege

2、SQL语言的书写规范

①SQL语句不区分大小写

②SQL语句可单行或者多行书写,默认以“;”结尾

③关键词不能跨多行或者简写

④用空格和tab建缩进来提高语句的可读性

⑤子句通常位于独立行,便于编辑,提高可读性

3、数据库对象的命名

命名的规则

必须以字母开头,后续可以包括字母,数字和三个特殊字符(# _ $)

不要使用MySQL的保留字,如tabble select show databases

4、SQL的语句分类

语句代表的意思
DDL数据定义语言,用于创建数据库对象,如库、表、索引等
DML数据操纵语言,用于对表中的数据进行管理
DQL数据查询语言,用于从数据表中查找符合条件的数据记录
DCL数据控制语言,用于设置或者更改数据库用户或角色权限

①DDL类语言:create drop alter

②DML类语言:insert delete update

③DQL类语言:select

④DCL类语言:grant revoke

⑤TCL类语言:commit rollback savepoint

5、查看帮助信息

#help后面跟上具体命令可以查看帮助
例如:mysql> help create

6、查看,修改字符集

1. #查看支持字符集
show charset;
默认拉丁文字,需要修改为
 
utf8     | UTF-8 Unicode   
#阉割版的
 
utf8mb4  | UTF-8 Unicode 
#真实的版本
 
2. #修改字符集
vim /etc/my.cnf
[mysqld]
character-set-server=utf8mb4

二、管理MySQL数据库

1、查看数据库的结构

1.1查看数据库
show databases;					#大小写不区分,分号“;”表示结束

1.2查看数据库中的表
方法一:在库中查看表
use mysql;             #use 数据库名
show tables;           #查看表
 
法二 :在库外查看表
show tables from mysql;    #show tables from 数据库名
1.2.1方法一:

1.2.2方法二:

1.3查看表的结构(字段)
use 数据库名;
describe [数据库名.]表名;
可缩写成:desc 表名;

1.4查看mysql版本
mysql -V

2、数据类型

2.1常用数据类型
类型说明
int整型,用于定义整数类型的数据
fload单精度浮点4字节32位,准确表示到小数点后六位
double双精度浮点8字节64位
char固定长度的字符类型,用于定义字符类型数据。
varchar可变长度的字符类型
text文本
image图片
decimal(5,2)5个有效长度数字,小数点后面有2位。指定长度数组

注意:char

char的长度是不可变。char如果存入数据的实际长度比指定长度要小,会补空格至指定长度,如果存入的数据的实际长度大于指定长度,低版本会被截取高版本会报错。

varchar

varchar长度是可变的,默认会加一个隐藏的结束符号,因此结束符会多算一个字节。

2.2数据类型参考

尽量要避免null,包含为null的列,对mysql更难优化

2.3整数型

tinyint(m) 1个字节 范围(-128~127)

smallint(m) 2个字节 范围(-32768~32767)

mediumint(m) 3个字节 范围(-8388608~8388607)

int(m) 4个字节 范围(-2147483648~2147483647)

bigint(m) 8个字节 范围(+-9.22*10的18次方)

2.4浮点型,近似值

float(m,d)单精度浮点型8位精度(4个字节)。m是总个数,d是小数位

注意:小数点不占用总个数。

double(m,d)双精度浮点型16位精度(8字节)。m总个数,d是小数位。

注意:小数点不占用总个数。

设一个字段定义为float(6,3),如果插入一个数123.45678,实际数据库存的是123.456,但总个数还以实际为准,即6位。

2.5定点数

格式:decimal(m,d)表示最多m位数字,其中d个小数,小数点不在长度内。

例如decimal(8,4)总共能存8位数字,末尾4位是小数,字段最大是9999.9999(小数点不算在长度内)

2.6字符串

char固定长度,最多255个字符

varchar可变长度最多65535个字符

3、创建,删除数据库和表

3.1创建新的数据库
#建立数据库 
create database 数据库名;
 
#建立数据库并指定字符集utf8mb4
create database 数据库名 charset=utf8mb4;
后文有详细操作及其演示

3.2删除指定的数据库
drop database 数据库名;

3.3创建数据表
use 数据库名;
create table 表名 (字段1 数据类型,字段2 数据类型[,...][,primary key (主键名)]);
#主键一般选择能代表唯一性的字段不允许取空值(NULL),一个表只能有一个主键。
 
例如:
use zhuzi;
create table students (id smallint unsigned primary key auto_increment, name varchar(10), age tinyint unsigned,gender enum('M','F') default 'M' );
 
#unsigned:取消负数
primary  key:主键
auto_increment: 自增长
enum('M','F'):多选 
default 'M':默认值为 M

3.4删除指定的数据表
方法一:库内删除
use 数据库名;
drop table 数据表名;
 
方法二:库外删除
#如不用USE进入库中,则需加上数据库名
drop table 数据库名.数据表名;			

4、管理表中的数据记录

4.1向数据表中插入新的数据记录
insert into 表名(字段1,字段2[,...]) values(字段1的值,字段2的值,...);
 
例如:
insert into students(id,name,age,passwd) values(2,'lisi',20,'112233' );
insert into students(id,name,age,passwd) values(2,'jiami',22,PASSWORD('123456'));
#PASSWORD('112233'):查询数据记录时,密码字串以加密形式显示;若不使用PASSWORD(),查询时以明文显示
select * from students;
 
提前新建数据表(注意长度设置)
use mysql;
create table students (id smallint unsigned primary key auto_increment, name varchar(10),age tinyint unsigned, passwd varchar(48));

4.2查询数据表内的数据记录
select 字段名1,字段名2[,...] from 表名 [where 条件表达式];
 
基本操作:
1. #查询全部数据
select * from 数据表名;
例如:
select * from students;
 
2. #查询指定数据
例如:
select id,name from students where id=2;

补充:
更多操作:
3. #以列表方式竖向显示
select * from 数据表名\G;			
例如:
select * from students\G;
 
4. #只显示头2行
select * from 数据表名 limit 2;
例如:	
select * from students limit 2;
 
5. #显示第3行后的2行
select * from 数据表名 limit 3,2;
例如:
select * from students limit 3,2;

4.3修改,更新数据表中的数据记录
update 表名 set 字段名1=字段值1[,字段名2=字段值2] [where 条件表达式];
 
例如:
update students set age=19 where id=4;
update students set age=20,passwd='111111' where id=2;    #同时修改age和passwd
 

4.4在数据表中删除指定的数据记录
delete from 表名 [where 条件表达式];
 
例如:
delete from students where id=2;
 
!!!!注意id并不会顶上去!!!!

注意:id为2的数据行依旧是2,并不会替换1的位置成为1。

5、修改表名称和表的结构

5.1修改表的名称
alter table 旧表名 rename 新表名;
 
例如:
alter table students rename xuesheng;

5.2扩展表结构,增加字段
alter table 表名 add 字段;
 
例如:
alter table xuesheng add address varchar(50) default 'wait get';
#default 'wait get':表示此字段设置默认值 wait get;可与 NOT NULL 配合使用

5.3修改字段(列)名,添加唯一键
alter table 表名 change 旧列名 新列名 数据类型 [unique key];
 
例如:
alter table xuesheng change name user_name char(30) unique key;
#CHANGE可修改字段名、数据类型、约束等所有项。
验证:
insert into xuesheng values(6,lili,23,234567,NANKING);
失败,因为设置了唯一键,lili不能重复,改成lulu即可
insert into xuesheng values(6,lulu,23,234567,NANKING);

5.4删除字段
alter table 表名 drop 字段名;
 
例如:
#删除表中passwd字段
alter table xuesheng drop passwd;

6、查看,修改字符集

6.1查看MySQL支持的所有字符集
show charset;

6.2查看数据字符集
show create database 数据库名\G
 
例如:
#查看mysql数据库中mysql库的字符集
show create database mysql\G

6.3查看数据表的字符集
show table status from 库名 like '表名';
 
例如:
#查看zhuzi数据库中students表的字符集
show table status from zhuzi like 'students';

6.4修改数据库字符集
#建立数据库并指定字符集utf8mb4
create database 数据库名 charset=utf8mb4;
 
#若数据库已建立,修改字符集
alter database 数据库名 character set 字符集;
例如:
alter database mysql character set utf8mb4;

  • 19
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值