#mysql-基本使用 SQL也是一种编程语言 SQL注释 –
数据库是一种特殊文件,存在硬盘下 列,字段;行,记录;主键,能唯一标记某个字段就是主键 mysql关系型数据库
关系型数据库管理系统,一种程序的系统,通过表表示关系型,借助集合代数等处理数据库中的数据 主要产品:oracle,mysql,SQLite等 C/S 架构
RDBMS-Client通过SQL连接RDBMS-Server服务端创建修改数据库文件
SQL:结构化查询语言,支持多种数据库,不区分大小写
常用:数据的增删改差 DQL DML
安装server sudo apt-get install mysql-server 启动:sudo service mysql start 关闭: stop 重启 restart
/ect/mysql/mysql.cnf
主键,钥匙?,唯一标记每一个记录
类型,约束是建一个新表需要考虑的 规则是够用就行,尽量使用取值范围小的 varchar 变长度的字符串,但是不允许超过; char固定长度字符串 图片,视频等存在服务器里,数据库保存他的路径 没有布尔类型! 我们通常用bit表示布尔 支持的主要分为三类: 数值,字符串,时间 https://blog.csdn.net/anxpp/article/details/51284106 数值:整数,定点数 DECIMAL和NUMERIC类型在MySQL中视为相同的类型。它们用于保存必须为确切精度的值 :DECIMAL(M,D),其中M表示十进制数字总的个数,D表示小数点后面数字的位数,上例中的取值范围为-999.99~999.99; MySql中的浮点类型有float,double和real。他们定义方式为:FLOAT(M,D) 、 REAL(M,D) 、 DOUBLE PRECISION(M,D); BIT数据类型可用来保存位字段值。BIT(M)类型允许存储M位值。M范围为1~64,默认为1。
整数:int,bit 小数:decimal 字符串:varchar,char 日期时间: date, time, datetime 枚举类型(enum) 枚举中的下标从一开始约束: 外键,存储的是别的表的主键叫做外键
主键primary key:物理上存储的顺序 非空not null:此字段不允许填写空值 惟一unique:此字段的值不允许重复 默认default:当不填写此值时会使用默认值,如果填写时以填写为准 外键foreign key:对关系字段进行约束,当为关系字段填写值时,会到关联的表中查询此值是否存在,如果存在则填写成功,如果不存在则填写失败并抛出异常登录:mysql -uroot -p[密码]
退出:exit/quit/ctrl+d
查看所有数据库:show databases;
显示当前数据库时间:select now(); #数据库支持函数
显示版本:select version();
创建数据库:create database 名字; create database 名字 charset=utf8;
查看创建数据库的语句: show create database 名字;
删除数据库:drop database db_name;(要是删除不好使,加上``,说明他是一个整体)
使用数据库:use db_name
查看当前使用数据库:select database();
查看所有的表:show tables;
创建表: creata table tb_name(字段 类型 约束[, 字段 类型 约束]*);可以拆成多行; id int unsigned
查看表:desc 数据表名字;
插入数据:insert into table_name values(按照顺序插入数据)
修改表结构:增删改查
alter table table_name add ——————>增
修改:modify修改约束类型 alter table table_name modify 重命名名字和约束:change
删字段:drop —> alter table tb_name drop 列名
删表:drop table 表名
查看创建表语句: show create table 表名
增删查改curd
全部插入:insert into 表名 value(); 如果insert value没有指明,必须全部插入,否则报错;
部分插入:insert into 表名(字段名,)value(值,); 多行插入 insert into 表名(字段,)value(值,),(值,);
update 表名 set 字段=值, 字段= , where 字段=(匹配符合的);
select * from 表名; select * from 表名 where 字段=(符合的条件); select 想看的的字段[as xxx] 表名 where 字段=(符合的条件);
delete from 表名 ; 清空表 delete from 表名 where 字段=(xxx);
假的删除 逻辑删除 加一个字段is_delete bit default 0;