Mysql数据库的基本使用
服务端1.安装:sudo apt-get install mysql-service2.启动:sudo service mysql start3.查看进程中是否存在mysql服务:ps ajx|grep mysql (/usr/sbin/mysqld)4.停止服务:sudo service mysql stop5.重启服务:sudo service mysql restart6.查看配置文件:配置文件目录为/etc/mysql/mysql.conf.d/mysqld.cnf客户端
1.安装:sudo apt-get install mysql-client2.连接服务器:mysql -u root(用户名) -p mysql(密码)3.退出:ctrl+d 或 exit 或 quit4.修改输入提示符: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(增加、修改、删除、查询)时,都会降低数据库的性能,所以不推荐使用,那么数据的有效性怎么保证呢?答:可以在逻辑层进行控制