中财盛建设集团公司网站,卖机械设备什么网站做推广好,职业生涯规划大赛主题名字,建立一个个人介绍网站数据库基础
存储数据用文件就可以了#xff0c;为什么还要弄个数据库? 文件保存数据有以下几个缺点#xff1a; 1、文件的安全性问题 2、文件不利于数据查询和管理 3、文件不利于存储海量数据 4、文件在程序中控制不方便
数据库存储介质#xff1a; 磁盘 内存
为了解决上…数据库基础
存储数据用文件就可以了为什么还要弄个数据库? 文件保存数据有以下几个缺点 1、文件的安全性问题 2、文件不利于数据查询和管理 3、文件不利于存储海量数据 4、文件在程序中控制不方便
数据库存储介质 磁盘 内存
为了解决上述问题专家们设计出更加利于管理数据的东西——数据库它能更有效的管理数据。数据库的水平是衡量一个程序员水平的重要指标。
基本使用
连接数据库 mysql -h 127.0.0.1 -P 3306 -u root -p 注意 如果没有写 -h 127.0.0.1 默认是连接本地 如果没有写 -P 3306 默认是连接3306端口号
创建数据库 create database helloworld; 使用数据库 use helloworld; 创建数据库表 create table student( id int, name varchar(32), gender varchar(2) ); 表中插入数据 insert into student (id, name, gender) values (1, 张三, 男); insert into student (id, name, gender) values (2, 李四, 女); insert into student (id, name, gender) values (3, 王五, 男); 查询表中的数据 select * from student; SQL分类
DDL【data definition language】 数据定义语言用来维护存储数据的结构 代表指令: create, drop, alter
DML【data manipulation language】 数据操纵语言用来对数据进行操作 代表指令 insertdeleteupdate DML中又单独分了一个DQL数据查询语言代表指令 select
DCL【Data Control Language】 数据控制语言主要负责权限管理和事务 代表指令 grantrevokecommit
数据库操作
创建数据库 语法 CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name 大写的表示关键字 [] 是可选项 CHARACTER SET: 指定数据库采用的字符集 COLLATE: 指定数据库字符集的校验规则
说明当我们创建数据库没有指定字符集和校验规则时系统使用默认字符集utf8校验规则是utf8_ general_ ci。
示例
创建一个使用utf字符集并带校对规则的 db3 数据库。 create database db3 charsetutf8 collate utf8_general_ci; 字符集和校验规则
查看系统默认字符集以及校验规则 show variables like character_set_database; show variables like collation_database; 查看数据库支持的字符集 show charset; ps字符集主要是控制用什么语言。比如utf8就可以使用中文。
查看数据库支持的字符集校验规则 show collation; ps:字符集的校验规则指的是字符集比较大小的时候依据的准则比如我们比较a和B的大小如果不考虑大小写那么aB如果考虑大小写则aB,也就是说同一字符集不同的比较规则对某列数据的排序结果也就会产生不同。
操纵数据库
查看数据库 show databases; 显示创建语句 show create database 数据库名 示例 ps MySQL 建议我们关键字使用大写但是不是必须的。 数据库名字的反引号,是为了防止使用的数据库名刚好是关键字 /*!40100 default.... */ 这个不是注释表示当前mysql版本大于4.01版本就执行这句话
修改数据库
语法 ALTER DATABASE db_name [alter_spacification [,alter_spacification]...] alter_spacification: [DEFAULT] CHARACTER SET charset_name [DEFAULT] COLLATE collation_name 说明 对数据库的修改主要指的是修改数据库的字符集校验规则
删除数据库 DROP DATABASE [IF EXISTS] db_ name; 数据库备份和还原
备份数据库
语法 # mysqldump -P3306 -u root -p 密码 -B 数据库名 数据库备份存储的文件路径 同时备份多个数据库 # mysqldump -u root -p -B 数据库名1 数据库名2 ... 数据库存放路径 如果备份一个数据库时没有带上-B参数 在恢复数据库时需要先创建空数据库然后使用数据库再使用 source来还原。
示例将mytest库备份到文件退出连接 # mysqldump -P3306 -u root -p123456 -B mytest D:/mytest.sql ps:这时可以打开看看 mytest.sql 文件里的内容其实把我们整个创建数据库建表导入数据的语句都装载这个文件中。
备份表 # mysqldump -u root -p 数据库名 表名1 表名2 D:/mytest.sql 还原数据库 mysql source D:/mysql-5.7.22/mytest.sql; 查看连接情况 show processlist 可以告诉我们当前有哪些用户连接到我们的MySQL如果查出某个用户不是你正常登陆的很有可能你的数据库被 人入侵了。以后大家发现自己数据库比较慢时可以用这个指令来查看数据库连接情况。
表操作
创建表
语法 CREATE TABLE table_name ( field1 datatype, field2 datatype, field3 datatype ) character set 字符集 collate 校验规则 engine 存储引擎; 说明 field 表示列名 datatype 表示列的类型 character set 字符集如果没有指定字符集则以所在数据库的字符集为准 collate 校验规则如果没有指定校验规则则以所在数据库的校验规则为准
查看表结构 desc 表名; 修改表 //添加字段 ALTER TABLE tablename ADD (column datatype [DEFAULT expr][,column datatype]...); //修改字段 ALTER TABLE tablename MODIfy (column datatype [DEFAULT expr][,column datatype]...); //删除字段 ALTER TABLE tablename DROP (column); //修改表名 alter table users rename to tablename; 删除表 DROP [TEMPORARY] TABLE [IF EXISTS] tbl_name [, tbl_name] ... 示例 drop table t1;