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(默认的存储引擎),如果不是,那么外键可以创建成功,但是没有约束效果。
- 外键字段的字段类型(列类型)必须与父类的主键类型完全一致,否则创建失败。
- 一张表中的外键名字不能重复。
- 增加外键的字段(数据已经存在),必须保证数据与父表主键要求对应。