文档库 最新最全的文档下载
当前位置:文档库 › MYSQL语法与例题

MYSQL语法与例题

MYSQL语法与例题
MYSQL语法与例题

一、DQL:数据查询语言,针对单表的查询

查询表中所有学生的信息。

select * from STUDENT;

查询表中所有学生的姓名和对应的英语成绩。

select NAME,ENGLISH from STUDENT;

显示英语成绩,过滤表中重复数据

select distinct ENGLISH from STUDENT;

在所有学生数学分数上加10分特长分。

select NAME,MA TH+10 from STUDENT;

统计每个学生的总分。

select NAME,MA TH+CHINESE+ENGLISH from STUDENT;

使用别名表示学生分数。

select NAME as 姓名,MATH+CHINESE+ENGLISH 总分from STUDENT;

查询姓名为wu的学生成绩

select * from STUDENT where NAME='陈冠希';

查询英语成绩大于90分的同学

select * from STUDENT where ENGLISH>90;

查询总分大于200分的所有同学

select * from STUDENT where (MATH+CHINESE+ENGLISH)>200;

查询英语分数在80-90之间的同学。

select NAME,ENGLISH from STUDENT where ENGLISH between 80 and 90;

查询数学分数为89,90,91的同学。

select NAME,MA TH from STUDENT where MATH in (89,90,91);

查询所有姓李的学生成绩。

select NAME,MA TH from STUDENT where NAME like '李%';

查询数学分>80,语文分>80的同学。

select NAME,MA TH,CHINESE from STUDENT where MATH>80 and CHINESE>80;

注意:not and or 优先级依次降低。一元运算符比二元的要高。

对数学成绩排序后输出。

select NAME,MA TH from STUDENT order by MATH;

对总分排序后输出,然后再按从高到低的顺序输出

select NAME,MA TH+CHINESE+ENGLISH 总分from STUDENT order by 总分desc;

对姓李的学生语文成绩排序输出

select NAME,CHINESE from STUDENT where NAME like '李%' order by CHINESE;

注意:订单,order。创建表时要注意不要和关键字冲突。

解决办法:

1、把用户定义的内容用反引号引起来。`(Esc按键的下方)

2、数据库命名习惯:表名ORDERS (建议)

二、完整性约束

数据完整性是为了保证插入到数据中的数据是正确的,它防止了用户可能的输入错误。

2.1实体(记录)完整性

规定表的一行(即每一条记录)在表中是唯一的实体(Entity)。实体完整性通过表的主键来实现。

主键:不能为null;唯一

创建一个表格T1,并声明一个主键

写法一:(只能指定一个字段作为主键)

create table T1(

ID int primary key,

NAME varchar(100)

);

写法二:(指定联合主键)

create table T2(

ID int,

NAME varchar(100),

primary key(ID)

);

写法三:(创建没有任何约束的表格,最后修改约束)建议

create table T3(

ID int,

NAME varchar(100)

);

alter table T3 add primary key(ID);

注意:

逻辑主键(建议):除了唯一标识一条记录外,没有别的意义。一般取名ID

业务主键:还有一定的业务意义。

MySQL:

create table T4(

ID int primary key auto_increment,#自动增长,不建议使用。数据库迁移不方便,并不是所有的数据库都支持自动增长,比如Oracle就不支持。

NAME varchar(100)

);

2.2域(字段)完整性

指数据库表的列(即字段)必须符合某种特定的数据类型或约束

1、约束数据的类型:强类型

2、非空约束:not null

3、唯一约束:unique

create table T5(

ID int primary key auto_increment,

USERNAME varchar(100) not null unique,

PHONE_NUM varchar(11) unique,

GENDER varchar(10) not null

);

2.3参照完整性(多表的设计):定义外键

注意:类和表结构的关系;对象和记录的关系(帮助学习ORM:Hibernate、MyBatis)ORM:Object Relation Mapping(Java面向对象DB关系型数据库映射)

第一:(非常多)一对多

create table CUSTOMERS(

ID int primary key,

NAME varchar(100),

ADDRESS varchar(100)

);

create table ORDERS(

ID int primary key,

ORDER_NUM varchar(100),

AMOUNT float(10,2),

CUSTOMER_ID int,

constraint CUSTOMER_ID_FK foreign key (CUSTOMER_ID) references CUSTOMERS(id) );

注意:

表结构:Java类定义

表中的记录:Java对象

表间的关系:Java对象间的关系

第二:多对多(比较常见)

create table TEACHERS(

ID int primary key,

NAME varchar(100),

SALARY float(10,2)

);

create table STUDENTS(

ID int primary key,

NAME varchar(100),

GRADE char(1)

);

create table TEACHERS_STUDENTS(

T_ID int,

S_ID int,

primary key(T_ID,S_ID),

constraint T_ID_FK foreign key (T_ID) references TEACHERS(id), constraint S_ID_FK foreign key (S_ID) references STUDENTS(id) );

第三种:一对一(很少用到。实际开发根本不用)

数据库设计:ERWin

三、多表的查询(面试)

1、连接查询(面试几率很大)

a、交叉连接:(cross join)

返回多表的记录的笛卡尔积。(第一张表:5 第二章表:7,返回5*7=35)

select * from CUSTOMER,ORDERS;

select c.ID,https://www.wendangku.net/doc/a814420292.html,,o.ORDER_NUMBER,o.price from CUSTOMER c,ORDERS o;

b、内连接(inner join)

隐式内连接:select * from CUSTOMER c,ORDERS o where c.ID=o.CUSTOMER_id;

显式内连接:

select * from CUSTOMER c inner join ORDERS o on c.Id=o.CUSTOMER_id;

c、外连接(outer join)

查看所有客户信息,同时有订单的显示订单的详细信息。

左外:返回满足连接条件的记录,同时返回左表中剩余的其他记录。

select * from CUSTOMER c left outer join ORDERS o on c.ID=o.CUSTOMER_ID;

查看所有订单信息,同时返回下单的客户信息

右外:返回满足连接条件的记录,同时返回右表中剩余的其他记录。

select * from CUSTOMER c right outer join ORDERS o on c.ID=o.CUSTOMER_ID;

2、子查询

又称之为嵌套查询。查询中有查询。

执行顺序:先执行子查询(内查询),再执行外查询。

子查询:必须放在小括号之内。

查询陈冠希的所有订单信息。

形式一:多条查询语句

select ID from CUSTOMER where NAME='陈冠希';

select * from ORDERS where CUSTOMER_ID=1;

形式二:subselect(子查询)

select * from ORDERS where CUSTOMER_ID=(select ID from CUSTOMER where NAME='陈冠希');

查询订单价格大于100的有哪些客户

select * from CUSTOMER where ID in (select CUSTOMER_ID from ORDERS where PRICE>100);

3、MySQL常用的函数

SUM():求和

COUNT():计数

A VG():求平均

MAX():求最大

MIN():求最小

统计一个班级共有多少学生?

select count(*) from STUDENT;

统计数学成绩大于90的学生有多少个?

select count(*) from STUDENT where MA TH>=90;

统计总分大于250的人数有多少?where可以使用表达式

select count(*) from STUDENT where (ENGLISH+CHINESE+MATH)>250;

统计一个班级数学总成绩?

select sum(MATH) from STUDENT;

统计一个班级语文、英语、数学各科的总成绩

select sum(CHINESE),sum(ENGLISH),sum(MATH) from STUDENT;

统计一个班级语文、英语、数学的成绩总和

select sum(ENGLISH+CHINESE+MATH) from STUDENT;

统计一个班级语文成绩平均分

select sum(CHINESE)/count(*) from STUDENT;

select avg(CHINESE) from STUDENT; #如果字段为null,不参与平均的计算。

4、分组(报表)查询:group by

对订单表中商品归类后,显示每一类商品的总价

select PRODUCT,sum(PRICE) from PRODUCTS group by PRODUCT;

查询购买了几类商品,并且每类总价大于100的商品

select PRODUCT,sum(PRICE) from PRODUCTS group by PRODUCT having sum(PRICE)>100;

5、其他函数的简介

四、MySQL的备份与数据恢复

1、备份数据(表结构和数据)

c:\MySQL\bin\mysqldump -h localhost -p3306 -u root -p day14>d:/day14.sql

2、恢复数据库中的数据

前提:必须先创建数据库名

方式一:

mysql>user day14;

mysql>source d:/day14.sql;

方式二:

c:\MySQL\bin\mysql -u root -p day14

常用SQL语句大全

常用SQL语句大全 一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 DROP database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 DROP table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname DROP primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:DROP index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:DROP view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围 查找:select * from table1 where field1 like ’%value1%’---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1 最小:select min(field1) as minvalue from table1 11、说明:几个高级查询运算词

常用MySQL语句大全

MySQL服务的配置和使用 修改MySQL管理员的口令:mysqladmin –u root password 密码字符串 如:mysqldmin –u root password 111111 连接MySQL服务器,使用命令:mysql [-h 主机名或IP地址] [-u 用户名] [-p] 如:mysql –u root –p 如已有密码需修改root密码用命令: mysqladmin –u root –p password 新密码字符串 如:mysqladmin –u root –p password 111111 创建数据库格式为:CREATE DATABASE 数据库名称; 如:mysql>create database abc; 默认创建数据库保存在/var/lib/mysql中 查看数据库是 mysql>show abc; 选择数据库是 USE 数据库名称; 如:mysql>use abc; 删除数据库是 DROP DATABASE 数据库名称;如:mysql>drop database abc; 数据库的创建和删除 创建表是CREATE TABLE 表名称(字段1,字段2,…[表级约束]) [TYPE=表类型]; 其中字段(1,2 )格式为:字段名字段类型[字段约束] 如创建一个表student,如下: mysql>create table student ( sno varchar(7) not null, 字段不允许为空 sname varchar (20 )not null, ssex char (1) default …t?, sbirthday date, sdepa char (20), primary key (sno) 表的主键 ); 可用describe命令查看表的结构。 默认表的类型为MYISAM,并在/var/lib/mysql/abc 目录下建立student.frm(表定

SQL语句语法大全

第13章:SQL语句语法 目录 13.1. 数据定义语句 13.1.1. ALTER DATABASE语法 13.1.2. ALTER TABLE语法 13.1.3. CREATE DATABASE语法 13.1.4. CREATE INDEX语法 13.1.5. CREATE TABLE语法 13.1.6. DROP DATABASE语法 13.1.7. DROP INDEX语法 13.1.8. DROP TABLE语法 13.1.9. RENAME TABLE语法 13.2. 数据操作语句 13.2.1. DELETE语法 13.2.2. DO语法 13.2.3. HANDLER语法 13.2.4. INSERT语法 13.2.5. LOAD DATA INFILE语法 13.2.6. REPLACE语法 13.2.7. SELECT语法 13.2.8. Subquery语法 13.2.9. TRUNCATE语法 13.2.10. UPDATE语法 13.3. MySQL实用工具语句 13.3.1. DESCRIBE语法(获取有关列的信息) 13.3.2. USE语法 13.4. MySQL事务处理和锁定语句 13.4.1. START TRANSACTION, COMMIT和ROLLBACK语法 13.4.2. 不能回滚的语句 13.4.3. 会造成隐式提交的语句 13.4.4. SAVEPOINT和ROLLBACK TO SAVEPOINT语法 13.4.5. LOCK TABLES和UNLOCK TABLES语法 13.4.6. SET TRANSACTION语法 13.4.7. XA事务 13.5. 数据库管理语句 13.5.1. 账户管理语句 13.5.2. 表维护语句 13.5.3. SET语法 13.5.4. SHOW语法 13.5.5. 其它管理语句 13.6. 复制语句

个人总结的mysql常用命令大全

第一招、mysql服务的启动和停止 net stop mysql net start mysql 第二招、登陆mysql 语法如下:mysql -u用户名-p用户密码 键入命令mysql -uroot -p,回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql 的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招、增加新用户 格式:grant 权限on 数据库.* to 用户名@登录主机identified by "密码" 如,增加一个用户user1密码为password1,让其可以在本机上登录,并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令: grant select,insert,update,delete on *.* to user1@localhost Identified by "password1"; 如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。 如果你不想user1有密码,可以再打一个命令将密码去掉。 grant select,insert,update,delete on mydb.* to user1@localhost identified by ""; 第四招:操作数据库 登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。 1、显示数据库列表。 show databases; 缺省有两个数据库:mysql和test。mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行操作。 2、显示库中的数据表: use mysql;

MySQL语法语句汇编

MySQL语法语句大全 一、SQL速成 结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表、索引、字段等)的建立和操纵。 以下是一些重要的SQL快速参考,有关SQL的语法和在标准SQL上增加的特性,请查询MySQL手册。 1.创建表 表是数据库的最基本元素之一,表与表之间可以相互独立,也可以相互关联。创建表的基本语法如下: create table table_name (column_name data无效{identity |null|not null}, …) 其中参数table_name和column_name必须满足用户数据库中的识别器(identifier)的要求,参数data无效是一个标准的SQL类型或由用户数据库提供的类型。用户要使用non-null从句为各字段输入数据。 create table还有一些其他选项,如创建临时表和使用select子句从其他的表中读取某些字段组成新表等。还有,在创建表是可用PRIMARY KEY、KEY、INDEX等标识符设定某些字段为主键或索引等。 书写上要注意: 在一对圆括号里的列出完整的字段清单。 字段名间用逗号隔开。 字段名间的逗号后要加一个空格。 最后一个字段名后不用逗号。 所有的SQL陈述都以分号";"结束。 例: mysql> CREATE TABLE test (blob_col BLOB,index(blob_col(10))); 2.创建索引 索引用于对数据库的查询。一般数据库建有多种索引方案,每种方案都精于某一特定的查询类。索引可以加速对数据库的查询过程。创建索引的基本语法如下: create index index_name on table_name (col_name[(length)],... ) 例: mysql> CREATE INDEX part_of_name ON customer (name(10)); 3.改变表结构 在数据库的使用过程中,有时需要改变它的表结构,包括改变字段名,甚至改变不同数据库字段间的关系。可以实现上述改变的命令是alter,其基本语法如下: alter table table_name alter_spec [,alter_spec ...] 例: mysql> ALTER TABLE t1 CHANGE a b INTEGER; 4.删除数据对象

数据库语法大全

一、简单的增删改查: 表名为room 查:select *from 表 where 字段=要查询的值 增:insert into room values(…要增加的值?,…..) 改:udate 表 set roomjc=?DDD? where id=1;(改变room表中字段id为1的roomjc的数据) 删: delete from room where id=?1?(删除表中字段ID为1的那一行数据) 二、建表 Create table 表名( 主键ID自增 字段字段类型 identity(1,1) not null 主键(primary key) 字段字段类型 null 外键(foreign key) (还有一个唯一约束unique(col_name)) … ………. ) 向表中插入数据: Insert into 表名 values(?1?,?aa?) …………….. ……. 删除数据表: Drop table 表名;

三、数据的查询 1.查询多少到多少之间的数据(用”between”关键字) Select *from room where id between 1 and 5 (查询id为1到5之间的数据) 2.改变字段名 Select 名称=foodname 类型=foodbjf from room (把表中room中的字段名为foodname改成”名称”,foodbjf改为”类型”) 3.查询重复的数据(关键字”group by” (分组)) g roup by 列名 having 条件表达式 Select *from room where roombjf in(select roombjf from room group by roombjf having count (roombjf)>1) order by id(“查询表中room 字段为roombjf的重复数据”按id进行排序) 升序:order by 字段 asc 降序:order by 字段 desc 4.删除重复的数据(所有重复的都将删除): 将select改为delete还可以用distinct关键字:select distinct 字段名 from 表名5.限制返回行数(top n)则查询结果值显示表中前n条记录: Select top 5 from 表名; 6.逻辑运算符: And:用来链接两个必须同时成立的条件 Or:任意一个成立即可 Not:用来给定的结果取反

数据库基本SQL语句大全

数据库基本SQL 语句大全 学会数据库是很实用D ??记录一些常用的sql 语句…有入门有提高 有见都没见过的…好全…收藏下… 其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好 事…以后数据方面的东西就不用在程序里搞喽?.而且程序与数据库只要 一个来回通讯就可以搞定所有数据的操作 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbn ame 3、说明:备份sql server ---创建 备份数据的device USE master EXEC sp_addumpdevice ‘ disk ‘ c: MyNwind_1.dat ---开始备份 BACKU P DATABASE pubs TO testBack 4、说明:创建新表 create table tab name(col1 type1 [not n ull] [p rimary key],col2 type2 [not null],..) 根据已有的表创建新表: A : create table tab_new like tab_old 使用旧表创建新表) B : create table tab_new as select col1,col2 5、说明:删除新表 drop table tab name ‘ testBack ??- from tab_old defi niti on only

6、说明:增加一个列 Alter table tab name add colu mn col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一 能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tab name add p rimary key(col) 说明:删除主键:Alter table tab name drop p rimary key(col) 8、说明:仓J建索弓丨:c reate [uniq ue] in dex idx name on tab name(col ….) 删除索引:drop in dex idx name 注:索引是不可更改的,想更改必须删除重新 建。 9、说明:创建视图:create view view name as select stateme nt 删除视图:drop view view name 10、说明:几个简单的基本的sql语句 选择: select * from tablel where 范围 插入: in sert into table1(field1,field2) values(value1,value2) 删除: delete from table1 where 范围 更新: up date table1 set field1=value1 where 范围 查找: select * from tablel where fieldi like '%vkee的语法很精 妙,查资料! 排序: select * from tablei order by field1,field2 [desc] 总数: select count as totalco unt from tablei 求和: select sum(fieldi) as sumvalue from tablei 平均: select avg(fieldi) as avgvalue from tablei 最大: select max(fieldi) as maxvalue from tablei

SQL查询语句大全集锦(超经典)

SQL查询语句大全集锦 MYSQL查询语句大全集锦 一、简单查询 简单的Transact-SQL查询只包括选择列表、FROM子句和WHERE子句。它们分别说明所查询列、查询的 表或视图、以及搜索条件等。 例如,下面的语句查询testtable表中姓名为“张三”的nickname字段和email字段。 复制内容到剪贴板 代码:SELECT `nickname`,`email`FROM `testtable`WHERE `name`='张三' (一) 选择列表 选择列表(select_list)指出所查询列,它可以是一组列名列表、星号、表达式、变量(包括局部变量和全局变量)等构成。 1、选择所有列 例如,下面语句显示testtable表中所有列的数据: 复制内容到剪贴板 代码:SELECT * FROM testtable 2、选择部分列并指定它们的显示次序 查询结果集合中数据的排列顺序与选择列表中所指定的列名排列顺序相同。 例如: 复制内容到剪贴板 代码:SELECT nickname,email FROM testtable 3、更改列标题 在选择列表中,可重新指定列标题。定义格式为: 列标题=列名 列名列标题 如果指定的列标题不是标准的标识符格式时,应使用引号定界符,例如,下列语句使用汉字显示列 标题:

复制内容到剪贴板 代码:SELECT 昵称=nickname,电子邮件=email FROM testtable 4、删除重复行 SELECT语句中使用ALL或DISTINCT选项来显示表中符合条件的所有行或删除其中重复的数据行,默认 为ALL。使用DISTINCT选项时,对于所有重复的数据行在SELECT返回的结果集合中只保留一行。 5、限制返回的行数 使用TOP n [PERCENT]选项限制返回的数据行数,TOP n说明返回n行,而TOP n PERCENT时,说明n是 表示一百分数,指定返回的行数等于总行数的百分之几。 例如: 复制内容到剪贴板 代码:SELECT TOP 2 * FROM `testtable` 复制内容到剪贴板 代码:SELECT TOP 20 PERCENT * FROM `testtable` (二) FROM子句 FROM子句指定SELECT语句查询及与查询相关的表或视图。在FROM子句中最多可指定256个表或视图, 它们之间用逗号分隔。 在FROM子句同时指定多个表或视图时,如果选择列表中存在同名列,这时应使用对象名限定这些列 所属的表或视图。例如在usertable和citytable表中同时存在cityid列,在查询两个表中的cityid时应使用下面语句格式加以限定: 复制内容到剪贴板 代码:SELECT `username`,citytable.cityid FROM `usertable`,`citytable` WHERE usertable.cityid=citytable.cityid在FROM子句中可用以下两种格式为表或视图指定别名: 复制内容到剪贴板 代码:表名 as 别名 表名别名例如上面语句可用表的别名格式表示为: 复制内容到剪贴板

Mysql总结完整版

一、数据库概述 数据库(DataBase,DB):指长期保存在计算机的存储设备上,按照一定规则组织起来,可以被各种用户或应用共享的数据集合。 数据库管理系统(DataBase Management System,DBMS):指一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一管理和控制,以保证数据库的安全性和完整性。用户通过数据库管理系统访问数据库中的数据。 数据库软件应该为数据库管理系统,数据库是通过数据库管理系统创建和操作的。 数据库:存储、维护和管理数据的集合。 二、数据库的安装与配置 * 安装 * 参照图解 * 一路下一步 * 卸载 1.停止mysql服务net stop mysql 启动mysql服务net start mysql 2.卸载mysql 3.找到mysql 安装目录下的my.ini datadir="C:/ProgramData/MySQL/MySQL Server 5.5/Data/" * 运行 * 安装成功了打开cmd --> mysql -uroot -p你的密码 * 修改mysql root用户密码 1) 停止mysql服务运行输入services.msc 停止mysql服务 或者cmd --> net stop mysql 2) 在cmd下输入mysqld--skip-grant-tables 启动服务器光标不动(不要关闭该窗口) 3) 新打开cmd 输入mysql -u root -p 不需要密码 use mysql; update user set password=password('abc') WHERE User='root'; 4) 关闭两个cmd窗口在任务管理器结束mysqld 进程 5) 在服务管理页面重启mysql 服务 密码修改完成 * 配置 * 参照图解

数据库经典SQL语句大全

数据库经典SQL语句大全 篇一:经典SQL语句大全 下列语句部分是Mssql语句,不可以在access中使用。 SQL分类: DDL—数据定义语言(CREATE,ALTER,DROP,DECLARE) DML—数据操纵语言(SELECT,DELETE,UPDATE,INSERT) DCL—数据控制语言(GRANT,REVOKE,COMMIT,ROLLBACK) 首先,简要介绍基础语句: 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的 device USE master EXEC sp_addumpdevice 'disk','testBack', 'c:mssql7backupMyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表

create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2? from tab_old definition only 5、说明: 删除新表: tabname 6、说明: 增加一个列:Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明: 添加主键:Alter table tabname add primary key(col) 说明: 删除主键:Alter table tabname drop primary key(col) 8、说明: 创建索引:create [unique] index idxname on tabname(col?.) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。

数据库基本----sql语句大全

学会数据库是很实用D~~记录一些常用的sql语句...有入门有提高有见都没见过的...好全...收藏下... 其实一般用的就是查询,插入,删除等语句而已....但学学存储过程是好事...以后数据方面的东西就不用在程序里搞喽..而且程序与数据库只要一个来回通讯就可以搞定所有数据的操作.... 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2… from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where X围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where X围 更新:update table1 set field1=value1 where X围 查找:select * from table1 where field1 like ’%value1%’ ---like的语法很精妙,查资料! 排序:select * from table1 order by field1,field2 [desc] 总数:select count as totalcount from table1 求和:select sum(field1) as sumvalue from table1 平均:select avg(field1) as avgvalue from table1 最大:select max(field1) as maxvalue from table1

MySQL语法大全

1、启动MySQL服务器 两种方法: 一是用winmysqladmin,如果机器启动时已自动运行,则可直接进入下一步操作。二是在DOS方式下运行 d:mysqlbinmysqld 2、进入mysql交互操作界面 在DOS方式下,运行: d:mysqlbinmysql 出现: mysql 的提示符,此时已进入mysql的交互操作方式。 如果出现 "ERROR 2003: Can't connect to MySQL server on 'localhost' (10061)“, 说明你的MySQL还没有启动。 3、退出MySQL操作界面 在mysql>提示符下输入quit可以随时退出交互操作界面: mysql> quit Bye 你也可以用control-D退出。 4、第一条命令 mysql> select version(),current_date(); 1 row in set (0.01 sec) mysql> 此命令要求mysql服务器告诉你它的版本号和当前日期。尝试用不同大小写操作上述命令,看结果如何。 结果说明mysql命令的大小写结果是一致的。 练习如下操作: mysql>Select (20+5)*4; mysql>Select (20+5)*4,sin(pi()/3); mysql>Select (20+5)*4 AS Result,sin(pi()/3); (AS: 指定假名为Result) 5、多行语句 一条命令可以分成多行输入,直到出现分号“;”为止: mysql> select -> USER() -> ,

-> now() ->; +--------------------+---------------------+ | USER() | now() | +--------------------+---------------------+ | ODBC@localhost | 2001-05-17 22:59:15 | +--------------------+---------------------+ 1 row in set (0.06 sec) mysql> 注意中间的逗号和最后的分号的使用方法。 6、一行多命令 输入如下命令: mysql> SELECT USER(); SELECT NOW(); +------------------+ | USER() | +------------------+ | ODBC@localhost | +------------------+ 1 row in set (0.00 sec) +---------------------+ | NOW() | +---------------------+ | 2001-05-17 23:06:15 | +---------------------+ 1 row in set (0.00 sec) mysql> 注意中间的分号,命令之间用分号隔开。 7、显示当前存在的数据库 mysql> show databases; +----------+ | Database | +----------+ | mysql| | test | +----------+ 2 row in set (0.06 sec) mysql> 8、选择数据库并显示当前选择的数据库 mysql> USE mysql Database changed mysql>

数据库基本SQL语句大全

数据库基本SQL语句大全 数据库基本----SQL语句大全 一、基础 1、说明:创建数据库 Create DATABASE database-name 2、说明:删除数据库 drop database dbname 3、说明:备份sql server --- 创建备份数据的device USE master EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat' --- 开始备份 BACKUP DATABASE pubs TO testBack 4、说明:创建新表 create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..) 根据已有的表创建新表: A:create table tab_new like tab_old (使用旧表创建新表) B:create table tab_new as select col1,col2…from tab_old definition only 5、说明:删除新表 drop table tabname 6、说明:增加一个列 Alter table tabname add column col type 注:列增加后将不能删除。DB2中列加上后数据类型也不能改变,唯一能改变的是增加varchar类型的长度。 7、说明:添加主键:Alter table tabname add primary key(col) 说明:删除主键:Alter table tabname drop primary key(col) 8、说明:创建索引:create [unique] index idxname on tabname(col….) 删除索引:drop index idxname 注:索引是不可更改的,想更改必须删除重新建。 9、说明:创建视图:create view viewname as select statement 删除视图:drop view viewname 10、说明:几个简单的基本的sql语句 选择:select * from table1 where 范围 插入:insert into table1(field1,field2) values(value1,value2) 删除:delete from table1 where 范围 更新:update table1 set field1=value1 where 范围

MySQL基础知识总结

day15-MySQL 数据库 1数据库概念(了解) 1.1什么是数据库 数据库就是用来存储和管理数据的仓库! 数据库存储数据的优先:

●可存储大量数据; ●方便检索; ●保持数据的一致性、完整性; ●安全,可共享; ●通过组合分析,可产生新数据。 1.2数据库的发展历程 ●没有数据库,使用磁盘文件存储数据; ●层次结构模型数据库; ●网状结构模型数据库; ●关系结构模型数据库:使用二维表格来存储数据; ●关系-对象模型数据库; MySQL就是关系型数据库! 1.3常见数据库 ●Oracle(神喻):甲骨文(最高!); ●DB2:IBM; ●SQL Server:微软; ●Sybase:赛尔斯; ●MySQL:甲骨文; 1.4理解数据库 ●RDBMS = 管理员(manager)+仓库(database) ●database = N个table ●table: ?表结构:定义表的列名和列类型! ?表记录:一行一行的记录! 我们现在所说的数据库泛指“关系型数据库管理系统(RDBMS - Relational database management system)”,即“数据库服务器”。 当我们安装了数据库服务器后,就可以在数据库服务器中创建数据库,每个数据库中还可以包含多张表。

数据库表就是一个多行多列的表格。在创建表时,需要指定表的列数,以及列名称,列类型等信息。而不用指定表格的行数,行数是没有上限的。下面是tab_student表的结构: 当把表格创建好了之后,就可以向表格中添加数据了。向表格添加数据是以行为单位的!下面是s_student表的记录: s_id s_name s_age s_sex S_1001 zhangSan 23 male S_1002 liSi 32 female S_1003 wangWu 44 male 大家要学会区分什么是表结构,什么是表记录。 1.5应用程序与数据库 应用程序使用数据库完成对数据的存储!

SQL数据库语句大全大全(完全整理版)

SQL语句大全--语句功能 --数据操作 SELECT --从数据库表中检索数据行和列 INSERT --向数据库表添加新数据行 DELETE --从数据库表中删除数据行 UPDATE --更新数据库表中的数据 -数据定义 CREATE TABLE --创建一个数据库表 DROP TABLE --从数据库中删除表 ALTER TABLE --修改数据库表结构 CREATE VIEW --创建一个视图 DROP VIEW --从数据库中删除视图 CREATE INDEX --为数据库表创建一个索引 DROP INDEX --从数据库中删除索引 CREATE PROCEDURE --创建一个存储过程 DROP PROCEDURE --从数据库中删除存储过程CREATE TRIGGER --创建一个触发器 DROP TRIGGER --从数据库中删除触发器 CREATE SCHEMA --向数据库添加一个新模式DROP SCHEMA --从数据库中删除一个模式CREATE DOMAIN --创建一个数据值域 ALTER DOMAIN --改变域定义 DROP DOMAIN --从数据库中删除一个域 --数据控制 GRANT --授予用户访问权限 DENY --拒绝用户访问 REVOKE --解除用户访问权限 --事务控制 COMMIT --结束当前事务 ROLLBACK --中止当前事务 SET TRANSACTION --定义当前事务数据访问特征 --程序化SQL DECLARE --为查询设定游标 EXPLAN --为查询描述数据访问计划 OPEN --检索查询结果打开一个游标

MYSQL内置函数大全

mysql内置函数大全 ASCII(str) 返回字符串str的第一个字符的ASCII值(str是空串时返回0) mysql>select ASCII('2'); ->50 mysql>select ASCII(2); ->50 mysql>select ASCII('dete'); ->100 ORD(str) 如果字符串str句首是单字节返回与ASCII()函数返回的相同值。如果是一个多字节字符,以格式返回((first byte ASCII code)*256+(second byte ASCII code))[*256+third byte ASCII code...] mysql>select ORD('2'); ->50 CONV(N,from_base,to_base) 对数字N进制转换,并转换为字串返回(任何参数为NULL时返回NULL,进制范围为2-36进制,当to_base是负

数时N作为有符号数否则作无符号数,CONV以64位点精度工作) mysql>select CONV("a",16,2); ->'1010' mysql>select CONV("6E",18,8); ->'172' mysql>select CONV(-17,10,-18); ->'-H' mysql>select CONV(10+"10"+'10'+0xa,10,10); ->'40' BIN(N) 把N转为二进制值并以字串返回(N是BIGINT数字,等价于CONV(N,10,2)) mysql>select BIN(12); ->'1100' OCT(N) 把N转为八进制值并以字串返回(N是BIGINT数字,等价于CONV(N,10,8)) mysql>select OCT(12); ->'14' HEX(N)

MySQL模糊查询语法

MySQL模糊查询语法 MySQL提供标准的SQL模式匹配,以及一种基于象Unix实用程序如vi、grep和sed的扩展正则表达式 模式匹配的格式。 SQL的模式匹配允许你使用“_”匹配任何单个字符,而“%”匹配任意数目字符(包括零个字符)。 在 MySQL中,SQL的模式缺省是忽略大小写的。下面显示一些例子。注意在你使用SQL模式时,你不能使用=或!=;而使用LIKE或NOT LIKE比较操作符。 为了找出以“b”开头的名字: mysql> SELECT * FROM pet WHERE name LIKE "b%"; +--------+--------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +--------+--------+---------+------+------------+------------+ | Buffy | Harold | dog | f | 1989-05-13 | NULL | | Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 | +--------+--------+---------+------+------------+------------+ 为了找出以“fy”结尾的名字: mysql> SELECT * FROM pet WHERE name LIKE "%fy"; +--------+--------+---------+------+------------+-------+ | name | owner | species | sex | birth | death | +--------+--------+---------+------+------------+-------+ | Fluffy | Harold | cat | f | 1993-02-04 | NULL | | Buffy | Harold | dog | f | 1989-05-13 | NULL | +--------+--------+---------+------+------------+-------+ 为了找出包含一个“w”的名字: mysql> SELECT * FROM pet WHERE name LIKE "%w%"; +----------+-------+---------+------+------------+------------+ | name | owner | species | sex | birth | death | +----------+-------+---------+------+------------+------------+ | Claws | Gwen | cat | m | 1994-03-17 | NULL | | Bowser | Diane | dog | m | 1989-08-31 | 1995-07-29 | | Whistler | Gwen | bird | NULL | 1997-12-09 | NULL | +----------+-------+---------+------+------------+------------+ 为了找出包含正好5个字符的名字,使用“_”模式字符:

相关文档