MySQL常用操作分栏整理(一)

108 阅读4分钟

这是我参与8月更文挑战的第11 天,活动详情查看: [8月更文挑战](juejin.cn/post/698796… "juejin.cn/post/698796…"

1.数据库的基本操作

  1. 启动数据库:net start mysql
  2. 客户端登录服务器:mysql -u root -p 远程登录服务器:mysql -h ip地址 -u root -p
  3. 展示服务器中有哪些数据库:show databases;
  4. 创建一个新的数据库:create database pgbd/数据库名; 查看刚创建好的数据库:show create database pgbd/数据库名;
  5. 指定要操作的数据库:use pgbd/数据库名;
  6. 查看当前数据库有哪些数据表:show tables;
  7. 删除某个数据库:drop database pgbd/数据库名;
  8. 退出服务器连接:exit;

2.数据表的基本操作

(show数据库-create数据库-show数据库-use数据库-create表-查看表-查看表结构)

操作

  1. 创建信息表: create table 表名(字段 属性 约束);

  2. 每类数据的数据类型: (1)字符串 char(固定长度,设置固定长度之后,不足用空格补齐(电话号码,身份证号等)),varchar(20)(可变长度,小于等于固定长度均可),blob或text(二进制大数据,图片和音频) (2)数值 int,float(m,n)m为几位数据,m为小数位占几位 ,double(m,n), (3)日期 date.(年月日) time(小时分秒)datetime(SS格式)/timestamp(时间戳)(年月日和小时分秒都有) 注意!!!一般情况:凡是整数都用int(不限定字符),放不下用bigint,小数用float和double(有损失)十分精确的表示,精度十分高用decimal。

  3. 对数据进行约束:

(1)主键约束(primary key,具有唯一性,不能为空),

(2)非空约束(NOT NULL),唯一性约束(unique 唯一性,可以为空), (3)默认约束(default 默认的值,指定某个字段的默认值,若新插入的记录没有为该字段赋值,则为默认值)

(4)外键约束(foreign key(引用的字段) references 被引用的表(被引用的字段),两者的数据类型必须一样,引用中插入值时,被引用的表必须有该值,删除时,先删除引用字段的值,再删除被引用的字段。)

约束有两种方法:(1)直接在数据后加约束(empid int primary key,),(2)在最后加约束,适用于加多个约束(primary key(depid, deptname))

  1. 删除数据表:drop table employees/表名;

  2. 查看表结构:desc employees;

  3. 向表中插入数据: insert into 表名 values(字段值列表);

  4. 批量插入数据:insert into 表名 values(字段值列表), (字段值列表), (字段值列表);

  5. 查询表中的记录:select 字段列表 from 表名;

  6. 查看创建表的语句:show create table employees\G;(G为垂直显示)

  7. 将查询结果保存到另外一张表中,有两种方式: (1) 先创建一张新数据表,然后使用insert into ... select ... (2) 直接使用create table ... select ...

  8. 加载外部数据文件到数据表中: load data local infile '文件路径' into table products fields terminated by '分割形式'; (分割形式为,或者\t)文件路径中不能包含中文,且为左斜杠。 一般情况导入外部文件到mysql可能会出现错误。 (mysql报错:ERROR 1148 (42000): The used command is not allowed with this MySQL version 解决方法: show global variables like 'local_infile';(查看local_infile是否打开) set global local_infile='ON';(打开local_infile) mysql --local-infile=1 -uroot -p(重新启动数据库) .csv文件要以utf8格式编码保存(数据中有中文内容)

  9. 修改表中的数据: (1)update 表名 set X 条件; (2) 处理null值 对于null值只能使用is null,is not null,不能使用=

  10. 删除表中的记录:delete from 表名 条件; 不加条件为全部删除

  11. 修改数据表的结构:alter table 操作 (1)修改表名 alter table 表名 rename新表名; (2)修改表中字段的数据格式 alter table 表名 modify 字段 数据格式; (3)添加新的字段 alter table 表名 add 字段 数据格式; (4)修改字段在表中的位置 alter table 表名 add 字段 数据格式 first; (5)删除表中的字段:alter table 表名 drop 字段;