数据库的常用查询命令

数据库不区分大小写

新建一个teacher表

create table teacher(name varchar(20),sex char(1),birth DATE,birthaddr varchar(20)PRIMARY KEY(name))

表的内容包含员工姓名、性别、出生日期、出生城市。由于name、birthadd的列值是变化的,因此选择VARCHAR,其长度不一定是20。可以选择从1到255的任何长度,如果以后需要改变它的字长,可以使用ALTER TABLE语句。性别只需一个字符就可以表示:"m"或"f",因此选用CHAR(1);birth列则使用DATE数据类型。

PRIMARY KEY为主键设置为name

添加teacher表数据

insert into teacher(name,sex,birth,birthaddr) values('ruthy','W','1993-10-09','USA')

insert into teacher values('ruth','W','1999-10-09','UK')

第一种情况是为了方便知道添加的数据的含义,第二种方法简写,快捷。

查询teacher表数据

1.select * from teacher where name='john'

  *表示可以从teacher中选择输出的数据项为全部,也可以为name,sex,birth,birthaddr;where后面为选择输出语句

此句话的意思是从teacher中选择name='john'的项,并输出所有数据

1.2select pro_name, pro_price from products where prod_price between 5 and 10

between `` and `` 需要给予最大值和最小值

1.3select  pro_price from products where prod_price is NULL

返回商品价格为空,而不是0

1.4 select  pro_price from products where prod_price <10 and(or) pro_id=1003

and 同时匹配两个条件,or匹配任一个条件即可。

1.5 select  pro_price from products where (prod_id=1002 or pro_id=1003) and prod_price <10 

若不加括号,and优先级比or高,则该句意思为pro_id=1002 and pro_price <10 ,再看pro_id=1003

1.6 select  pro_price from products where prod_id in (1002 ,1003) 

in在哪个范围里指出

1.7select  pro_price from products where prod_id not in (1002 ,1003)  order by pro_name

pro_id不在1002,1003

2.检索不同行

select distinct vend_id from products

select distinct vend_id从products表里面只返回不同的vend_id,即相同的vend_id只返回一个。

3.限制查询  limit子句

select prod_name from products limit 5

从表products 返回pro_name数据不超过5行,那下次继续检索5行命令为:select prod_name from products limit 5,5

第一个5为开始行位置,第二个数为要检索的行数。带一个值的总是从第一行开始输出 ,输出几行。

注意:检索出来的第一行为0而不是1.因此,limit 1,1将检索出第二行而不是第一行。

4.排序检索order by

select pro_name from products order by pro_name,pro_id

这句话指示MySQL 对pro_name列先以字母升序,再以商品id升序排序数据。

select pro_name from products order by pro_name desc

这句话指示MySQL 对pro_name列以字母降序排序

select pro_name from products order by pro_name desc,pro_id

这句话指示MySQL 对pro_name列先以字母降序排序,再以pro_id升序排序

5.like操作符 % 表示任何字符出现任意次数

select  pro_price,pro_id  from products where prod_name like 'jet%'

匹配peo_name以jet开头的字符

select  pro_price,pro_id  from products where prod_name like '_jet'

下划线_ 只匹配单个字符而不是多个字符

注意:不要过度使用通配符, 不要把通配符放在搜索开始处,注意通配符的位置

6.查询部分数据

select top 5 name,sex,birth,birthaddr from teacher(查询ID为前五的teacher信息,此处teacher没有写ID属性,可自行测试)


查询teacher表和student表

select * from teacher t inner join student s on t.name=s.name where s.name='ruth'

teacher t 为teacher命名为t

student s 为student命名为s    为了书写方便

inner join为联立student表和teacher表,on为联立条件(此处为student.name=teacher.name略写为t.name=s.name)

where 为选择输出条件(此处为s.name='ruth')


删除teacher表数据

delete  from teacher where name='john'

此句话的意思是从teacher中删除name='john'的项

更新teacher表数据

update teacher set birthaddr='china' where name='ruth'

此句话的意思是更新teacher中删除name='ruth'的项的birthaddr的值为china

用文本将数据装入teacher表

创建一个文本文件“mysql.txt”,按表结构排好每行每条记录,用定位符(tab)把值分开。
abccs f 1977-07-07 china 
mary f 1978-12-12 usa
tom m 1970-09-02 usa
使用此命令将文本文件“mytable.txt”装载到表中: 
Load data local infile "mytable.txt" into table mytable;

数据传入命令load data local infile "文件名" into table 表名;
注意:你最好将文件复制到mysql/bin目录下,并且要先用use命令选表所在的库。

修改teacher表名字

alter table teacher rename t

此句话的意思是把teacher名字改为t

查看teacher表结构

 describe teacher

此句话的意思是 查看teacher表的数据类型,也可以直接查看设计表

为teacher表增加一列

alter table teacher add column 列名字 char(1);

此句话的意思是 为teacher表增加一列数据,数据类型为char(1)

为teacher表删除一列

alter table teacher drop column 列名字

此句话的意思是 为teacher表删除一列数据



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值