mysql

来源:互联网 发布:家庭记账软件排行 编辑:程序博客网 时间:2024/05/29 05:10

数据库都学完了,然而我正要开始学习,,这真是一个忧伤的故事。。

一点一点来吧,现在把mysql的一些基本语句mark一下,以后也好看看:)


mysql版本:5.7.6(版本不同语法会有些不同)设置环境为:不区分大小写

show databases; 或者show schemas;显示数据库中存在的模式(mysql中写database 和 schema 似乎是一样的,下面就全部写schema吧)
use <模式名>; 例如:use st; 表示进入st这个模式
create schema <模式名>; 创建模式
drop schema <模式名>;  删除指定模式

desc <表名>; 查看表结构

show tables; 显示所有表

show create table <表名>;显示此表的创建命令

select * from <表名>; 查看相应表中内容

drop table <表名>; 删除相应表

insert into <表名>(列属性1,列属性2...) values('列属性值1','列属性值2',...); 插入数据

delete from <表名> where 属性x='xxx' and 属性y='yyy';删除属性x值为xxx并且属性y值为yyy的数据

group by <列属性> :   GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。(用于将相同属性合在一起的)  http://www.w3school.com.cn/sql/sql_groupby.asp

 having : SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数(SUM,COUNT等)一起使用。

SELECT Customer,SUM(OrderPrice) FROM OrdersGROUP BY CustomerHAVING SUM(OrderPrice)<2000

只查看某个表中所有列名:select column_name from information_schema.columns where table_schema='数据库名称' and table_name='表名';

select * from <表名> where 属性x like "%属性值%";在表中模糊查找含有某个字段内容的数据


下面建立几个表:

CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,  /*列级完整性约束条件,Sno是主码*/ Sname CHAR(20) UNIQUE,   /*Sname取唯一值*/ Sex CHAR(2), Sage SMALLINT, Sdept  CHAR(20));

CREATE TABLE Course(Cno CHAR(4) PRIMARY KEY, Cname CHAR(40), Cpno CHAR(4), Ccredit SMALLINT, FOREIGN KEY (Cpno) REFERENCES Course(Cno)  /* 被参照表示Course,被参照列是Cno 。只是想说明自己可以参照自己,但并没有什么用。。*/);

CREATE TABLE sc(Sno CHAR(9), Cno CHAR (4), Grade SMALLINT, PRIMARY KEY (Sno,Cno),  /*主码由两个属性构成,必须作为表级完整性进行定义*/ FOREIGN KEY (Sno) REFERENCES Student(Sno),  /*表级完整性约束条件,Sno是外码,被参照表是Student*/ FOREIGN KEY (Cno) REFERENCES Course(Cno)   );


参照完整性约束:外码的值必须与被参照表的相应主码值相同,否则为空(无法插入值)。

CREATE TABLE tb_news(Id int PRIMARY KEY AUTO_INCREMENT NOT NULL, /*Id 作为主键,自增长,非空*/ Content LONGTEXT NOT NULL /*Content类型为长文本,属性非空*/)default charset=utf8 auto_increment=1; /*设置默认字符集编码、防止中文乱码,自增长幅度为1*/



0 0
原创粉丝点击