MySQL数据库的常见操作

Wesley13
• 阅读 542

1.查看所有的数据库

1

show databases;

2.创建数据库  后面的时编码格式

1

create database dbName charset= 'utf8' ;

3.使用/切换数据库

1

use dbName

4.查看正在使用的数据库

1

select  database();

5.删除数据库

1

drop database dbName;

MySQL的数据类型

    整数类型

整数类型

字节数

无符合数的取值范围

有符合数的取值范围

INTYINT

1

0~255

-128~127

SMALLINT

2

0~65535

-32768~32767

MEGIUMINT

3

0~16777215

-8388608~8388607

INT

4

0~4294967295

-2147483648~2147483647

INTEGER

4

0~4294967295

-2147483648~2147483647

BIGINT

8

0~18446744073709551615

-9223372036854775808-9223372036854775807

    浮点类型

                                      MySQL数据库的常见操作

    字符串类型

  字符串的常用类型时CHAR和VARCHAR ,下面时他们的区别

插入值

CHAR(5)

占用字节数

VARCHAR(5)

占用字节数

''

''

五个字节

''

一个字节

'1'

'1'

五个字节

'1'

两个字节

'123'

'123'

五个字节

'123'

四个字节

'123 '

'123 '

五个字节

'123 '

五个字节

'12345'

'12345'

五个字节

'12345'

六个字节

   TEXT类型是一种特殊的字符串类型。TEXT只能保存字符数据。如新闻的内容等。

   类型包括 TINYTEXT、TEXT、MEDIUMTEXT 和LONGTEXT.

      下面将从4中TEXT类型允许的长度的存储空间进行对比

类型

允许的长度

存储空间

TINYTEXT

0~255字节

值的长度+2个字节

TEXT

0~65535字节

值的长度+2个字节

MEDIUMTEXT

0~167772150字节

值的长度+3个字节

LONGTEXT

0~4294967295字节

值的长度+4个字节

    日期与时间类型

日期类型

字节数

取值范围

零值

YEAR

1

1901~2155

0000

DATE

4

1000-01-01~9999-12-31

0000:00:00

TIME

3

-838:59:59~838:59:59

00:00:00

DATETIME

8

1000-01-01 00:00:00~9999-12-31 23:59:59

0000-00-00 00:00:00

TIMESTAMP

4

19700101080001

00000000000000

    表中常见的操作

1.查看当前数据库中的所有数据表

1

show tables;

2.创建表

create table tablename(字段1 数据类型,字段2 数据类型 ...) [charset set 字符集 collate 校对规则]

3.查看表结构

1

desc tablename;

4.重命名表

1

alter table 表原名 rename to 新表明;

5.添加字段

  添加字段(默认添加在最后一个位置)

   alter table tablename add 字段 数据类型;

  添加字段:在表的第一个位置添加字段

  alter table tablename add 字段数据类型 first;

  添加字段: 在指定的位置添加字段

  alter table tablename add 字段 new 数据类型 after 字段old;

6.修改字段

  修改字段: 修改字段数据类型

  alter table tablename modify 字段 数据类型;

  修改字段: 修改字段到第一个位置

  alter table tablename modify 字段数据类型 first;

  修改字段:修改字段到指定位置

  alter table tablename modify 字段数据类型 after 字段;

  修改字段:只修改字段名称 不修改数据类型

  alter table tablename change 字段 newname 原数据类型;

  修改字段 修改字段名称 同时修改数据类型

  alter table tablename change 字段 newname 新数据类型;  

7.删除字段

  alter table tablename drop 字段;

8.删除表

  drop table tablename;

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

常用sql语句

查看数据库: show  databases;

创建一个HA的数据库: create database HA;

查看自己所处的位置:  select  database();

删除数据库: drop database  'wg' ;

创建表:

语法:**create table** 表名 (**字段名** 类型**,** 字段名 类型**,** 字段名 类型**);**

mysql> create table student(id  int (20),name  char (40),age  int );

查看表的相关信息:

use mysql ;

show tables;

查看表结构: desc student;

可以指定默认存储引擎和字符集:

mysql> create table student2(id  int (20),name  char (40),age  int )ENGINE=MyISAM DEFAULT CHARSET=utf8;

删除表: drop table student2;

修改表名称:

语法  alter table 表名  rename 新表名

alter table student rename students;

修改表中的字段类型

语法:

alter table 表名 modify 要修改的字段名  要修改的类型

desc student;

alter table students modify column id  int (10);

修改表中的字段类型和字段名称:

语法:**alter table** 表名 change 原字段名 新字段名 新字段类型**;**

alter table students change name stname  char (20);

在表中添加字段:

语法: alter table students add sex  enum ( 'M' , 'W' );# enum 是枚举类型,表示这个字段中的数据只能为F,M,S三个值中的一个

在制定位置添加字段

如在第一列添加一个字段

alter table students add uid  int (10) frist;

在age后面添加一个字段:

alter table students add address  char (40) after age;

删除表中的字段:

alter table students drop address;

插入字段

语法:

insert    into  表名 values ( 字段值1,字段值2,字段值3);

insert  into  student values(1, 'zhangs' ,21);

查询表中的记录

select  from   student ;

select  id,name  from  student;

删除id 为3的行:

delete  from  students  where  id=3;

删除age为空的行;

delete  from  students   where  age  is  null ;

更新记录:

update   students  set  sex= 'M'  where  id=2;

所有的都变为2

update students  set  id=2;

SQL 基础条件查询语句

select   name,age  from  stuendts;

去重复查询语句:

select  distinct name,age  from  students;

select  distinct id,name,age  from  students  where  id=3;

select  id,name  from  students  where  id >3 and age >25;

select  id,name  from  students  where  id >3 or age >25;

mysql 区分大小写查询

select  name  from  studnets  where  name= 'jk' ;

select  from  students  where  binary name = 'jk' ;

mysql 查询排序:

select  distinct id  from  students order  by  id;

select  distinct id  from  students order  by  id desc;

关于MySQL命令帮助

help show;

help  select ;

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Stella981 Stella981
3年前
Python3:sqlalchemy对mysql数据库操作,非sql语句
Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''
Stella981 Stella981
3年前
KVM调整cpu和内存
一.修改kvm虚拟机的配置1、virsheditcentos7找到“memory”和“vcpu”标签,将<namecentos7</name<uuid2220a6d1a36a4fbb8523e078b3dfe795</uuid
Easter79 Easter79
3年前
Twitter的分布式自增ID算法snowflake (Java版)
概述分布式系统中,有一些需要使用全局唯一ID的场景,这种时候为了防止ID冲突可以使用36位的UUID,但是UUID有一些缺点,首先他相对比较长,另外UUID一般是无序的。有些时候我们希望能使用一种简单一些的ID,并且希望ID能够按照时间有序生成。而twitter的snowflake解决了这种需求,最初Twitter把存储系统从MySQL迁移
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
10个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这