mysql安装与基本使用

Mysql数据库的基本使用
服务端
1.安装:sudo apt-get install mysql-service
2.启动:sudo service mysql start
3.查看进程中是否存在mysql服务:ps ajx|grep mysql (/usr/sbin/mysqld)
4.停止服务:sudo service mysql stop
5.重启服务:sudo service mysql restart
6.查看配置文件:配置文件目录为/etc/mysql/mysql.conf.d/mysqld.cnf

客户端
1.安装:sudo apt-get install mysql-client
2.连接服务器:mysql -u root(用户名) -p mysql(密码)
3.退出:ctrl+d 或 exit 或 quit
4.修改输入提示符:prompt 提示符 (\D完整日期,\d数据库名称,\u用户,\h主机)
5.清屏:ctrl+shift+l

数据库操作
1.查看所有数据库: show databases;
2.创建数据库:create database 数据库名 charset = utf-8;
3.使用数据库:use 数据库名;
4.查看当前使用的数据库:select database();
5.删除数据库:drop database 数据库名;

数据表操作
1.查看所有数据表: show tables;
2.创建表:
create table table_name(
  column1 datatype constraint,
  column2 datatype,
  ...
  columeN datatype,
  PRIMARY KEY(one or more columns)
);
实例:
create table students(
  id int unsigned primary key auto_increment not null,
  name varchar(20) not null,
  age tinyint unsigned default 0,
  height decimal(5,2),
  gender enum("男","女","保密") default "保密"
);
3.查看表的创建语句: show create table 表名;
4.查看表结构: desc 表名;
5.修改表结构
  5.1.添加字段:alter table 表名 add 字段名 类型;
    alter table students add birthday datetime;
  5.2.修改字段类型: alter table 表明 modify 字段名 新类型及约束;
    alter table students modify birthday date not null;
  5.3.字段重命名: alter table 表名 change 旧名 新名 类型及约束;
    alter table students change birthday birth date not null;
6.删除表: drop table 表名;

数据操作
1.基本查询
  1.1.查询表中所有数据: select * from 表名;
  select * from students;
  1.2.查询指定列的数据: select column1, column2,... from 表名;
  select name, height from students;
2.添加数据
  2.1.全列插入:insert into 表名 values(...)[,(...)...];
  insert into students values(0,"悟空",40,178.50,"男","1980-10-01");
  insert into students values(0,"悟饭",20,180.00,"男","2000-10-2"), (0,"比克",default,190,default,"1950-1-1");
  2.2.部分插入:insert into 表名 (列1,列2,...) values(值1,值2,...)[,(值1,值2,...)];
  insert into students (name,age,birth) values("贝吉塔",60,"1970-1-1");
  insert into students (name,birth) values("特兰克斯","2008-12-1"),("悟天","2009-12-2");
3.修改数据
  update 表名 set 列1=值1,列2=值2...where 条件;
  update students set age=12 where name="特兰克斯";
4.删除数据
  4.1.物理删除
    delete from 表名 where 条件;
    delete from students where name="悟天";
  4.2.逻辑删除(设置isdelete字段,类型为bit,默认值为0,需要删除数据时修改isdelete=1)
    (alter table students add isdelete bit default 0 not null;)
    update students set isdelete=1 where 条件;

数据库备份
1.备份:运行mysqldump命令
  mysqldump -u root -p 数据库名 > python.sql(保存到*.sql文件)
  # 按提示输入密码
2.恢复
  2.1.连接mysql服务器,创建新的数据库,退出登录
  2.2.mysql -u root -p 新数据库名 < python.sql
  # 按提示输入密码

数据完整性
一个数据库就是一个完整的业务单元,可以包含多张表,数据被存储在表中。为了在表中更加准确的存储数据,保证数据的完整有效,
可以在创建表的时候为表添加一些强制性的验证,包括数据字段的类型和约束。
1.数据类型
使用数据类型的原则是:够用就行,尽量使用取值范围小的,而不用大的,这样可以更多的节省存储空间。
常用数据类型如下:
  整数:int,bit
  小数:decimal
  字符串:varchar,char
  日期时间: date, time, datetime
  枚举类型(enum)
特别说明的类型如下:
  decimal 表示浮点数,如decimal(5,2)表示共存5位数,小数占2位
  char 表示固定长度的字符串,如char(3),如果填充'ab'时会补一个空格为'ab '
  varchar 表示可变长度的字符串,如varchar(3),填充'ab'时就会存储'ab'
  字符串 text 表示存储大文本,当字符大于4000时推荐使用
  对于图片、音频、视频等文件,不存储在数据库中,而是上传到某个服务器上,然后在表中存储这个文件的保存路径
2.约束
主键 primary key:物理上存储的顺序
非空 not null:此字段不允许填写空值
惟一 unique :此字段的值不允许重复
默认 default:当不填写此值时会使用默认值,如果填写时以填写为准
外键 foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常
说明:虽然外键约束可以保证数据的有效性,但是在进行数据的crud(增加、修改、删除、查询)时,
都会降低数据库的性能,所以不推荐使用,那么数据的有效性怎么保证呢?答:可以在逻辑层进行控制


转载于:https://www.cnblogs.com/yiwi515/p/7368000.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值