创建数据库
create database/schema study;
查看数据库结构
show tables;
查看所有数据库名称
show databases;
选择数据库
use table_schema;
删除数据库
drop database table_schema;
创建表
create table student(id int primary key ,user varchar(20), class varchar(20));
复制老表结构;
create table new_table like old_table;
选择部分数据,复制老表结构;
create table tab_new as select col1,col2… from tab_old definition;
查看表结构
desc table_name;
修改表结构:
alter table table_name modify user varchar(40);
# 修改字段
alter table 表名 change 字段名 新字段名 字段约束条件
添加字段
alter table table_name add column_name data_type;
删除字段
alter table table_name drop column column_name
插入数据
insert into student(id,user,class ) values(1,'张三','网工一班');
多条插入
insert into student(id,user,class ) values(1,'张三','网工一班'),(1,'李四','三班');
查看字段内容
select * from student;
删除数据
delete from student where user='张三';
删除表全部数据
truncate table tablename;/delete * from tablename;
更新数据
update student set user='小狗' where id=2;
2. 跨表修改
1)将t1表中的price修改为t2表中price值的80%
update t1,t2 set t1.price = t2.price*0.8 where t1.id = t2.id;
复制数据
语法: INSERT INTO <表2> [列名]
SELECT <列名> FROM <表1>
1 、< 表 2> 必须事先存在。如果不存在,执行时将会出现错误。
2 、查询出的字段数目、数据类型、字段顺序,与插入列保持 一致。
非关系型数据库
指以键值对形式存储,具有较高性能的并发读写能力的数据库系统;
Hbase,Redis,MongodDB.Neo4j,NewSql,nosql
oracle数据库默认账户密码scott,tiger;
关系型和非关系型数据库之间的对比
实质:
非关系型是关系型的阉割版,通过减少不常用的功能,来提高处理性能;
价格
非关系型是免费的
关系型大部分需要付费;
关系型数据库
缺点:
昂贵,功能虽全,但是针对大部分公司许多功能是用不到的;
优点:
可以执行复杂语句查询,安全性较高;
非关系型优点:
nosql是基于键值对查询的,可以想象成主键和值的对应关系,而且不需要经过sql层的解析,所以性能较高;
其次,可扩展性,因为数据之间没有耦合性,所以容易水平扩展;
命令行连接数据库
进入mysql/bin;
运行 mysql -u root -h 127.0.0.1 -p root
Ømysql库主要存储各类权限相关信息及帮助信息,如用户权限、表权限、列权限、存储过程权限 等; Øinformation_schema库主要存储数据库对象相关概要(schema)信息,如字符集、引擎、数据 库、表、视图、列、权限等 。
information_schema
schemata schema_name
tables table_name
columns column_name
select table_name,column_name from columns where table_schema='study'
备份数据库
进入到phpstudy\mysql\bin>
只备份该数据库下所有的表,
mysqldump -u root -p table_schema >g:\study.sql
恢复的语句:
首先需要创建好数据库,进入数据库,执行source g:\study.sql
mysqldump -u root -p -B table_schema >g:\study.sql(无B只备份数据表)
恢复
mysql -uusername -ppassword[dbname]<filename.sql