mysql栈_Mysql的基本操作

SQL Structured Query Language(结构化查询语句)

包含了字段和记录。

有多个数据表而组成的库

E-R图的构建步骤:

1.为每个实体建立一张表;

2.为每个表选择一个主键;

3.增加外键以表示一对多的关系;

4.建立新表表示多对多的关系;

5.定义约束条件;

6.评价关系的质量进行改进;

7.为每个字段选择合适的数据类型和取值范围;

E-R模型由实体、属性和关系3个基本要素构成。

表示方法:

实体;矩形

属性:在矩形内部

关系:直线1:1 、1:n 、n:n

主键:

唯一性、

NO NULL.

Primary Key

Serial------>auto_increment

外键:表A中的一个字段a对应于表B的主键b,则字段a成为表A的外键。

约束;

1.主键约束(Primary Key):

2.外键约束(Foreign Key):

3.唯一性约束(unique):

4.非空约束(not Null):

5.检查约束(check):

6.默认值约束(default):

show databases; 查看数据库信息

show engines;查看存储引擎信息

set table_type=InnoDB;设置当前默认存储引擎为InnoDB

show variables like 'table_type';

show create table table_name;

show variables like 'collation%'; 查看当前的字符序

set names gbk;一次性设置character_set_client.character_set_connection和character—_set_results的字符集为gbk

SQL脚本文件进行字符集的更改:文件后缀为.sql

set table_type=InnoDB;

show variable like 'table_type';

SET character_set_client = gbk;

SET character_set_connection = gbk;

SET character_set_database = gbk;

SET character_set_results = gbk;

SET character_set_server = gbk;

SET character_database = gbk_chinese_ci;

SET character_connection = gbk_chinese_ci;

SET character_server = gbk_chinese_ci;

show variables like 'character%';

show variables like 'collation%';

在命令行中执行脚本文件: \. C:\wamp\www\sql\init.sql

数据库的管理:

创建数据库:

create database database_name;

选择当前操作的数据库:

use database_name;

显示数据库的结构:

show create database database_name;

删除数据库:

drop database database_name;

数据库表的管理:

create table table_name{

column_name1 数据类型 [约束条件]

.....

column_name(n) 数据类型 [约束条件]

}

删除当前表中的列向当前已存在的表中添加列:

alter table table_namealter table table_name

drop column column_name;add column datatype 约束条件;

改变当前表中的column的datatype1、修改列类型,比如列为nvarch类型,修改其长度为100:

alter table table_name

alter column column_name datatypeALTER TABLE tb ALTER COLUMN col nvarchar(100)

2、增加一列:

ALTER TABLE tb ADD col2 nvarchar(100) null

表中存在数据时,新增加的列必须为null或者identity。

3、增加约束,设定列col3的缺省值为0:

ALTER TABLE tb ADD CONSTRAINT DF_col3 DEFAULT 0 FOR col3

数据类型:

数值:

字符串:

日期:

附加属性:

NULL:

auto_increment:

使用脚本文件进行数据库表的创建:

use student; 首先声明操作的数据库;

create table classes(进行数据库表的创建;

class_id int auto_increment primary key,表中的属性名 类型 约束条件

class_no char(10) not NULL unique,

class_name char(20) not NULL

);

显示数据库表的结构:

show tables;查看当前操作数据库中所有表名;

describe table_name; 查看classes表的表结构;

show create table table_name; 查看创建表名为table_name的创建语句,从而查看表结构

删除数据库表:

drop table table_name;

表记录的更新操作:

添加:

insert into table_name [(字段列表)] values(值列表);

insert into classes(class_in,class_no,class_name) values(NULL,'10chinese','10中文');

insert into classes values(NULL,'10chinese','10中文'); 当向表中所有列添加数据时,字段列表可以省略;

修改:

update table_name;

set column_name = new_value[,next_column = new_value2····]

[where 条件表达式]

update student set student='张三丰' where student_id=1;

update score set grade=grade-5;

update score set grade=grade+10 where student_id=1 and courses_id=2;

删除:

delete from table_name

[where 条件表达式];

delete form score where student_id=1 and course_id=2;

查询:

select 字段列表 *:字段列表为数据源的全部字段。

表名.*:多表查询时,指定某个表的全部字段。

字段列表 :指定所需要显示的列。

form 数据源

[where 过滤条件]

[group by 分组表达式]

[having 分组过滤条件]

[order by 排序表达式[asc|desc]];

select 字段列表

form 数据源

limit [start,end]length; start 的值默认为0; top 2 top 50 percent

select * from score limit 0,3;查询score表的前3条记录。

等效于:select * from score limit 3;

select * from score where grade>80;

select * from score order by grade desc;

select sum(grade) from score where course_id=1; 使用聚合函数返回汇总值;

sum()/avg()/count()/max()/min()

特殊字符的转义使用反斜线符号'\'开头

how to create INDEX in a table?

how to alter the datatype of a table's column?

how create a view?

what is the view?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值