Windows下mysql的基础操作

1.数据库表操作:

  • - 首先启动mysql服务器,在安装mysql的目录下打开cmd窗口,运行mysql:'mysql.exe -hlocalhost -p3306 -uroot -p123456';
  • - 查看所有的数据库: show databases;  -- create database my_database;
  • - use my_database; --> show tables; --> create table class(name varchar(10), room varchar(10))charset utf8; --> show tables like "%s"; -->
  •   查询表的创建语句:show create table my_student; --> 省略冒号的写法:show create table my_studentg     --> 另外一种输出格式:
  •   show create table my_studentG
  • - 给表重命名:rename table student to my_student;
  • - 查看数据表的表结构:desc 表名; -->describe 表名;  --> show columns from 表名;
  • - 给表添加新的字段:alter table my_student add column id int first/after; 
  • - 修改字段:修改通常是属性或者数据类型;--> alter table 表名 modify 字段名 数据类型 [属性] [位置]; --> alter table my_student modify number char(10) after id;
  • - 重命名字段:alter table 表名 change 旧字段 新字段 数据类型 [属性] [位置];
  •  alter table my_student change gender sex varchar(10) after id;
  • - 删除字段:删除学生表中的年龄字段(age) --> alter table my_student drop age;
  • -- 删除数据表:drop table 1,2,3...   --> drop table class;

2.数据操作

  • insert into my_student values(1, '001', 'J', 'Jin'), (2. '002', 'H', 'Huni');
  • insert into my_student(number, name, sex, id) values ('003', 'Jeny', 'Male', 3), ('004', 'The Shy', 'Femal', 4);
  • 查看数据:select */字段列表 from 表名 [where条件]; --> select * from my_student;  --> select id,number,sex,name from my_student where id = 1;
  • 更新数据:update 表名 set 字段 = 值[where条件];
  • 删除数据:delete form 表名 [where条件];

3.字符集处理

  • 查看所有字符集:show character set;
  • 查看服务器默认的对外处理的字符集:show variables like 'character_set%';
  • 修改服务器认为的客户端数据的字符集为GBK:set character_set_client = GBK;
  • 快捷设置字符集: set names gbk;

4.高级数据新增操作

  • 主键冲突:更新操作 --> insert into 表名[(字段列表,包含主键)] values(值列表) on duplicate key update 字段 = 新值;
  • 主键冲突:替换   --> replace into 表名[字段列表,包含主键] values(值列表);

5.蠕虫复制

  • 复制表结构:create table 表名 like 表名;
  • 如重复制:从已有表中拷贝数据到新表中,可以迅速的让表中的的数据膨胀到一定的数据,来测试表的压力以及效率。
  • insert into 表名 select * from 表名;

6.查询操作

  • select [select选项] 字段列表[字段别名]/* from 数据源 [where条件子句][group by 字句][having子句][order by子句][limit子句]; 

7.外键

  • 创建表之后添加外键:alter table 表名 add [constraint 外键名称] foreign key(外键字段) references 父表(主键字段);
  • alter table my_foreign2 add constraint id foreign key(c_id) references my_student(student_id);
  • 删除外键:alter table 表名 drop foreign key 外键名称;
  • 外键的作用:
    • 对子表的约束:子表的数据进行写操作(增和改)的时候,如果对应的外键在父表找不到对应的匹配,那么操作会失败(以此来约束子表的操作)。
    • 对父表的约束:父表数据进行写操作(删除和修改,都必须涉及到主键本身),如果对应的主键在子表中已经被数据所引用,那么久不允许操作。
  • 外键条件:
    • 外键要存在,首先必须保证表的存储引擎是innodb(默认的存储引擎),如果不是,那么外键可以创建成功,但是没有约束效果。
    • 外键字段的字段类型(列类型)必须与父类的主键类型完全一致,否则创建失败。
    • 一张表中的外键名字不能重复。
    • 增加外键的字段(数据已经存在),必须保证数据与父表主键要求对应。  
原文地址:https://www.cnblogs.com/jiafujun/p/7896393.html