mysql学习笔记1

mysql数据库的基本操作

数据库的执行过程:

  • 客户端<->服务器<->DBMS(数据库管理系统进行数据处理,如mysql)<->数据库(进行数据存储)

安装启动

  • 安装:这里只针对ubuntu,apt-get install mysql-server

  • 启动:service mysql start

  • 停止:service mysql stop

  • 重启:service mysql restart

  • 查看状态:service mysql status

  • 启动数据库服务后进入:mysql -hlocalhost -p3306 -uroot -p

  • 进入后可查看所有数据库:show databases; 此时会有四个默认库,其中mysql库中存放的用户信息

数据库CRUD(create,read,update,delete)

  • 增加一个数据库:create database dbname; 一般在增加时同时指定字符集:create database dbname char set 'utf8'; dbname为数据库名

  • 查看数据库的创建信息:show create database dbname; 查看当前数据库select database();

  • 修改数据库信息:修改字符集 alter database dbname char set 'utf8';

  • 删除数据库:drop database dbname;

  • 进入(切换)数据库:use daname;

表结构操作

  • 增加一张表:进入数据库后 create table t_table1(id int,name char(20)); 这里设置了两个字段,id和name,并且指定了数据类型 t_table1为表名

  • 查看表的创建信息:show create table t_table1; 查看该数据库下的所有表:show tables; 查看该数据库下某一张表的详细信息:desc t_table1;

  • 修改表的信息:

  - 给表添加一个新字段:alter table t_table1 add age int;

  - 修改字段数据类型:alter table t_table1 modify age char(3); 增加自增设置时可以用modify进行设置,alter table t_table1 modify id int auto_increment;

  - 修改字段名:alter table t_table1 change age city char(8); 修改时需要连数据类型一起修改,change 原名 目标名 数据类型

  - 删除字段:alter table t_table1 drop city;

  • 删除表结构:drop table t_table1;

表数据操作:

  • 向表里插入数据:插入 insert into t_table1 values(1,'aaaaa'); 插入指定字段并插入多个值 insert into t_table1(name) values('bbbbb'),('ccccc'),('ddddd');

  • 修改表里的数据:update t_table1 set name='王麻子'; 这里会将表里所有已有的name字段数据修改掉

  • 删除表里的数据:delete from t_table1; 这里会删除表里的所有数据,但是表还在

  • 查询表里的数据:select * from t_table1;

约束

  • 主键:primary key 唯一性约束和非空约束

  - 自动增长:auto_increment 必须和主键一起使用,否则不允许自增

  • 非空:not null

  • 唯一:unique

  • 默认:defualt

  • 外键:foreign key(字段名) references 表名(字段名)

  - 外键约束字段必须为主键约束字段

  - 为了让两张表对应的字段数据相同,保持数据的一致性

  - 删除外键关联的表:在那个表里写了关联语句,就必须先删哪个表

约束增删

  • 增加约束:alter table t_table1 add constraint id_pk primary key(id); id_pk为约束名,这里给id字段了一个主键约束 alter table t_table1 add constraint name_pk unique key(name); 这里给name字段一个唯一约束

  • 删除约束:alter table t_table1 drop primary key; 主键只有一个,可以不指定约束名

  • 删除其他约束: alter table t_table1 drop index name_pk; name_pk为约束名

  • 增加外键:

  - 新建一张表:create table t_table2(tid int primary key auto_increment,age int not null default 18,foreign key(tid) references t_table2(id)); 此时只有table1中存在一个确定的id,才能在table2中新增一个相同的id

  - 增加外键:alter table t_table2 add constraint id_fk foreign key(tid) references t_table1(id); id_fk为外键名

  • 删除外键:alter table t_table2 drop foreign key 外键名;

数据库导出/入

  • 导出整个库:mysqldump -uroot -p dbname > dbname_bak.sql

  • 导出数据库中指定的表:mysqldump -uroot -p dbname t_table1 t_table2 > table1_table2.sql

  • 导入数据库:首先要创建一个空的数据库 然后 mysql -uroot -p 数据库名 < dbname_bak.sql 进入数据库后可用source 路径/dbname_bak.sql来导入

posted @ 2019-01-24 21:58  heyeege  阅读(117)  评论(0编辑  收藏  举报