分享

工欲善其事必先利其器——MySQL数据库(1)

 昵称11935121 2018-06-24

准备工作

在 windows 和 Ubuntu 安装 MySQL。具体安装步骤可去 csdn 论坛查询。

命令行脚本

数据库的操作

  • 连接数据库
注意:sql 语句最后需要以分号 ;结尾mysql -uroot -p;输入密码即可进入数据库。
  • 退出数据库
qiut,exit,ctrl + d;
  • 查看所有数据库
show databases;
  • 使用数据库
use 数据库名;
  • 查看当前使用的数据库
select database();
  • 显示数据库版本
select version();
  • 创建数据库
create database demo charset=utf8;需要知道字符集,注意不是 utf-8;
  • 查看数据库的创建语句
show create database demo;
  • 删除数据库
drop database demo;
  • 查看帮助文档
sql中的帮助文档如何使用?使用 ? 获取帮助信息? functions; 查看函数的帮助文档

数据表的操作

  • 查看当前数据库中所有表
show tables;
  • 创建表
auto_increment 表示自动增长创建一个学生的数据表(id name age high gender cls_id)create table 数据表名字 (字段名 类型 约束[, 字段 类型 约束]);多个约束 不分先后顺序enum 表示枚举 男: 原始值 会有一个枚举值(从1开始)对应最后一个字段不要添加逗号unsigned表示无符号(只有正数, 没有负数)
  • 创建 students 表
create table students ( id int unsigned primary key auto_increment not null, name varchar(15) not null, age tinyint unsigned default 18, height decimal(5,2) default 0, gender enum('男','女','中性','保密') default '保密', cls_id int unsigned default 0, is_delete bit default 0);
  • 插入数据(后面要用)
insert into students values(0,'小明',18,180.00,2,1,0),(0,'小月月',18,180.00,2,2,1),(0,'彭于晏',29,185.00,1,1,0),(0,'刘德华',59,175.00,1,2,1),(0,'黄蓉',38,160.00,2,1,0),(0,'凤姐',28,150.00,4,2,1),(0,'王祖贤',18,172.00,2,1,1),(0,'周杰伦',36,NULL,1,1,0),(0,'程坤',27,181.00,1,2,0),(0,'刘亦菲',25,166.00,2,2,0),(0,'金星',33,162.00,3,3,1),(0,'静香',12,180.00,2,4,0),(0,'郭靖',12,170.00,1,4,0),(0,'周杰',34,176.00,2,5,0);
  • 查看创建表的语句
show create table students;
  • 查看表结构
desc students;
  • 修改表结构
  1. 修改表-添加字段
alter table 表名 add 列名 类型/约束;alter table students add birthday datetime default '2011-11-11 11:11:11';
  1. 修改表-修改字段:不重命名
alter table 表名 modify 列名 类型及约束;alter table students modify birthday date default '2011-11-11';
  1. 修改表-修改字段:重命名版
alter table 表名 change 原列名 新列名 类型及约束;alter table students change birthday birth date default '2011-11-11';
  • 修改表-删除字段
alter table students birth;
  • 删除表
drop table students;

数据增删改查(curd)

  • 增加 insert
  • - 全列插入 值和表的字段的顺序一一对应
  1. insert into 表名 values (值1,…)
  2. 主键字段的占位操作: 0, NULL, Default
  3. 在sql中枚举的下标默认从1开始
  4. 在实际开发中全列插入使用的不多: 如果表结构发生修改(增加或者删除字段) 全列插入的sql语句就会出错
insert into students values (0,'小乔',18,180.00,'女',2);insert into students values (NULL,'小乔',18,180.00,'女',2);insert into students values (NULL,'大乔',18,180.00,2,2);错误: insert into students values (Default,'虞姬',18,180.00,10,2,10);
  • 指定列插入
insert into 表名 (列1,...) values(值1,...)insert into students (name, gender, cls_id) values ('鲁班',1,1);
  • 多行插入 批量插入
insert into 表名(列1,...) values (值1,...),(值1,...),...insert into students (name, gender, cls_id) value ('wasp', '女', '2'),('vae', '男', '1');
  • 删除
  1. 物理删除
DELETE FROM tbname [where 条件判断]delete from students where id = 5;
  1. 逻辑删除:
标识一条记录是否被删除update students set is_delete = 1 where id = 4;查询有哪些学生没有被删除select * from students where is_delete = 0;
  • 修改
where 表示修改的范围update 表名 set 列1=值1,列2=值2... where 条件全表更新, 一定不要使用整表更新update students set age = 20;指定范围更新update students set age = 20 where id = 3;sql中,通过一个等于号表示相等

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多