美文网首页
mysql数据库

mysql数据库

作者: 最后的夏t | 来源:发表于2018-09-19 09:01 被阅读0次

                                                                                          数据库相关的操作

查询出来的数据显示?修改数据库和表的字符集utf8;或者 set names gbk/utf8

查询所有数据库:

show databases;

创建新的数据库; 

create database 数据库名;

创建数据库并设置字符集:

create database 数据库名 character set utf8/gbk;

查看数据库的详情

show create database 数据库名;

删除数据库: 

drop database 数据库名; 

选中数据库

use 数据库名;

修改创建好的字符集

alter database 数据库名 character set utf8/gbk;

                                                                        表相关的操作

数据库表的引擎:

  innodb:支持数据库的高级操作如:事务,外键等

  myisam:不支持高级操作,只支持基础的增删改查操作

注意:操作表之前一定要先选中数据库(use 数据库名)

查询所有表:

show tables;

创建表:

create table 表名(字段名 字段类型(字段长度), 字段名 字段类型,...);

查看表详情:

show create table 表名;

创建表指定引擎和字符集

create table 表名(字段1 字段1类型,字段2 字段2类型...)engine=innodb/myisam  charset=gbk/utf8

查看表结构(表字段):

desc 表名;

删除表:

drop table 表名;

修改表的相关

  1.修改表名:

rename table 原名 to 新名;

  2.修改表引擎和字符集:

alter table 表名 engine=innodb/myisam charset=utf8/gbk;

  3.添加表字段:

最后添加:alter table 表名 add 字段名 类型;

最前面添加:alter table 表名 add 字段名 类型 first;

某个字段后面添加:alter table 表名 add 字段名 类型 after xxx;

  4.删除表字段

alter table 表名 drop 字段名;

  5.修改表字段的名称和类型

alter table 表名 change 原字段名 新字段名 新类型;

  6.修改字段类型和位置

alter table 表名 modify 字段名 类型 first/(after xxx);

                                                                                                      数据相关

1.插入数据

(全表插入)insert into 表名 values(值1,值2,...);

(指定字段格式)insert into 表名(字段1,字段2) values(值1,值2);

2.查询数据(*代表所有字段)

select * from 表名

        select 字段1,字段2 from 表名

3.批量插入数据

全表插入)insert into 表名 values(值1,值2,...),(值1,值2,...)..;

(指定字段格式)insert into 表名(字段1,字段2) values(值1,值2),(值1,值2)..;

4.删除数据

delete from 表名 where xxx=xxx;

(删除所有数据) delete from 表名;

5.修改数据

update 表名 set 字段名=xxx where 字段名=值;

6.添加主键约束的字段(主键非空且唯一)

create table 表名 values (字段1 字段1类型 primary key,字段2 字段2类型,....);

7.主键+自增(自增数值只增不减,不会因为删除数据减少,在表中曾出现过的最大值基础上+1)

create table 表名 values(字段1 字段1类型 primary key auto_increment,字段2 字段2类型,....);

8.注释 comment

create table 表名(字段1 字段1类型 primary key auto_increment comment '这是主键',字段2 字段2类型 comment '这是xxx'...);

                                                                                                事务

事务:事务是数据库中执行SQL语句的工作单元,可以保证事务内的SQL要么全部成功,要么全部失败.

1.把数据库的自动提交改为手动提交

2.执行多条sql语句,此时sql会在内存中执行

3.当所有sql在内存中执行完后,手动提交,把多次改动一次性提交到数据库文件中.

1.查看数据库自动提交的状态

show variables like '%autocommit%';

2.关闭和打开自动提交 0:关闭  1:开启

set autocommit=0/1;

3.提交sql执行

commit;

4.回滚指令

rollback;

5.设置回滚点

savepoint 标识

6.回滚到某个回滚点

rollback to 标识

        SQL分类

1.删除表并创建一样的空表

truncate table 表名; 

truncate drop delete的区别:执行效率 drop>truncate>delete,drop只删除表,truncate是删除表并创建一个空表,delete只是删除数据,自增数值不会清零.

数据类型

1.整数:int(m)  bigint(m) m代表显示长度 zerofill(零填充)

create table t_int (num int(5) zerofill);

insert into t_int values(123)

2.浮点数: double(m,d) m代表总长度,d代表小数长度

如:76.123 m=5,d=3

3.字符串: char(n):固定长度  n=10  'abc'  占10个字节  执行效率更高

`   varchar(n):可变长度 n=10  'abc' 占3个字节  更节省空间,最大65535

  text:可以变长度 最大65535,超过25535建议使用text

4.日期类型: date:保存年月日

  time:保存时分秒

  datetime:保存年月日时分秒 默认值为null,最大值9999-12-31

  timestamp(时间搓):保存年月日时分秒 默认为当前时间,c038-1-19

相关文章

网友评论

      本文标题:mysql数据库

      本文链接:https://www.haomeiwen.com/subject/pgebnftx.html