Mysql 学习笔记
来源:互联网 发布:淘宝旗下app有哪些 编辑:程序博客网 时间:2024/06/05 00:38
显示所有数据库 show databases;
创建数据库 create dababase stu;
删除数据库drop database stu;
切换到数据库use stu;
取得当前的数据库,带()表示函数:select database();
创建表(要切换到数据库中)
mysql> create table stu_info(
-> stu_id int(8),
-> stu_name varchar(48),
-> stu_sex char(2),
-> stu_age int(8));
查看表的结构
mysql> desc stu_info;
+----------+-------------+------+-----+---------+-------+
| Field |Type | Null | Key | Default | Extra |
+----------+-------------+------+-----+---------+-------+
| stu_id |int(8) | YES | | NULL | |
| stu_name | varchar(48) | YES | | NULL | |
| stu_sex |char(2) | YES | | NULL | |
| stu_age |int(8) | YES | | NULL | |
+----------+-------------+------+-----+---------+-------+
4 rows in set (0.00 sec)
删除表
drop table stu_info;
查看数据库中所有的表show tables;
主键 primary key
增加字段 alert table stu_info add column stu_card varchar(20);
删除字段alter table stu_info drop column stu_card;
修改字段 alter table stu_info modify column stu_id int(20);
delete from stu_info where []
insert into stu_info() values ()
select * from stu_info where []
mysql 分业技术 选择从第1条开始的3条数据
select * from stu_info limit 0,3 ;
选择从第1条开始的3条数据
select * from stu_info limit 5,3 ;
直接从文件中读取sql语句然后在mysql中执行
/. d://che//mysql1//mysql.sql
例如
mysql.sql文件中有
use student;
select * from stu_info;
执行 /. d://che//mysql1//mysql.sql后结果为
Database changed
+--------+----------+---------+---------+----------------+--------------+
| stu_id | stu_name | stu_sex | stu_age |stu_adr | stu_birthday |
+--------+----------+---------+---------+----------------+--------------+
| 1 | 车燕兵 |男 | 25 | cheyanbing.com |2009-01-02 |
| 2 |che |man | 23 |gfdfgdsf | 2008-12-23 |
| 3 |che |man | 23 |gfdfgdsf | 2008-12-23 |
| 4 |che |man | 23 |gfdfgdsf | 2008-12-23 |
| 5 |che |man | 23 |gfdfgdsf | 2008-12-23 |
| 6 |che |man | 23 |gfdfgdsf | 2008-12-23 |
| 7 |che |man | 23 |gfdfgdsf | 2008-12-23 |
| 8 |che |man | 23 |gfdfgdsf | 2008-12-23 |
| 9 |che |man | 23 |gfdfgdsf | 2008-12-23 |
| 10 |che |man | 23 |gfdfgdsf | 2008-12-23 |
| 11 |che |man | 23 |gfdfgdsf | 2008-12-23 |
| 12 |cyb |man | 23 | jiangxiganzhou |2009-02-21 |
+--------+----------+---------+---------+----------------+--------------+
12 rows in set (0.00 sec)
排序方式
asc 按升序 ascend升序
desc 按降序 descend降序
select * from stu_info order by stu_id asc, stu_agedesc;//先按学号升序,再按年龄降序排
常用函数
计算记录的行数 count()
select count(*) fromstu_info;//求所有记录的条数,可以加条件表达式
select count(stu_sex) from stu_info;//注意当stu_sex为空的时候,不会被计算进去
select count(*),count(stu_sex) fromstu_info;
+----------+----------------+
| count(*) | count(stu_sex) |
+----------+----------------+
| 7| 1 |
+----------+----------------+
对字段求和 sum()
select sum(stu_age) fromstu_info;//字段只能是数字型,不能为其他类型
+--------------+
| sum(stu_age) |
+--------------+
| 175 |
+--------------+
求平均数函数 avg()
select avg(stu_id) fromstu_info;//空字段不参与求平均
+-------------+
| avg(stu_id) |
+-------------+
| 4.0000 |
+-------------+
日期函数
select now();
+-------------+
| avg(stu_id) |
+-------------+
| 4.0000 |
+-------------+
将日期转换为天数 to_days()
select to_days(stu_birthday) fromstu_info;
+-----------------------+
| to_days(stu_birthday) |
+-----------------------+
| 733774 |
+-----------------------+
数学函数
abs()
mod()
round()
字符串函数
length(str)
left(str,len)
right(str,len)
substring(str,pos,len)//下标从1开始
ascii(str)
concat(str1,str2,...)
创建外键关联
create table employee(
id int primarykey,
dep_id int,
name varchar(20),
constraint fk_emp_dept_id foreign key(dep_id)references department(id));
//constraint约束
删除外键关联关系
alter table employee drop foreign key fk_emp_dept_id;
再加drop index fk_emp_dept_id on employee;
外键所在的表叫父表,该表叫子表,
以后操作的时候删除父表id要同时删除子表的记录,否则麻烦就大了 。
修改外键
alter table employee add constraint fk_emp_dept_id foreignkey(dep_id) references department(id);
显示用于创建给定表的CREATE TABLE语句
show create table employee;
删除主键
alter table stu_info drop primary key ;
创建主键
alter table stu_info modify stu_id int primary key;
建立索引
create index emp_index on employee(name);
删除索引
drop index emp_index on employee;
多表联合查询
select employee.id,employee.dep_id,department.id,department.namefrom employee,department where employee.dep_id=department.id;
数据库备份
//注意一定要在dos下操作,不能在mysql客户端操作
备份一个数据库
mysqldump -u root -p --optstudent>d:/che/test.sql
opt表示优化数据库
备份所有数据库
mysqldump -u root -p--all-database>d:/che/all.sql
备份数据库中的单个表
mysqldump -u root -p --opt studentstu_info>d:/che/stu_info.sql
备份数据库中的多个表
mysqldump -u root -p --opt student stu_infoemployee>d:/double.sql
数据库恢复
恢复一个数据库
mysql -u root -p student <d:/che/test.sql
恢复所有数据库
mysql -u root -p <d:/che/all.sql
恢复数据库中的单个表
mysql -u root -p student<d:/che/stu_info.sql
恢复数据库中的单个表
mysql -u root -p student<d:/che/double.sql
授予权限//如果没有该用户则创建该用户
grant [权限] on [数据库名].[表名] to ['用户名']@['web服务器的ip地址'] identified by['密码']
with grant option;
所有权限
grant all privileges on student.* to cyb@cheyanbing.com identified by 'cyb';
赋予student数据库所有权限
赋予部分权限
grant select,alter on student.* to cyb1@cheyanbing.com identified by 'cyb';
回收权限
revoke select on student.* from cyb@cheyanbing.com
删除用户
delete from user where User='cyb'
记得使用commit;
flush privileges;
修改密码
update user setpassword=PASSWORD('cheyanbing')where user='cyb1';
记得使用commit;
flush privileges;
实现将查询的结果记录保存到文件中命令
select list from table into outfile '文件名';
例如:
select * from tbl_corporation into outfile 'd:/test.txt';
- 【MySQL】MySQL学习笔记
- 【mysql】mysql学习笔记
- Mysql学习笔记 --- mysql数据类型
- MySQL学习笔记--MySQL编程
- JBoss-MySql学习笔记
- mysql学习笔记
- Mysql学习笔记(1)
- Mysql学习笔记
- MySQL学习笔记
- Tomcat Mysql 。。。学习笔记
- mysql学习笔记
- mysql DB(学习笔记)
- MySQL 学习笔记一
- MySQL学习笔记
- mysql学习笔记
- mysql学习笔记
- MySQL学习笔记
- MySql学习笔记
- 珠海全国软件认证设计考试
- Linux 上JBOSS 启动后只能本机访问,其它机器不能访问问题解决。
- Ajax 参考
- 如何使用links方式安装Eclipse插件
- Preventing Access to OMA and Active Sync Using Security Groups in AD
- Mysql 学习笔记
- UCM 实践的经验教训【转老帖】
- 【转】如何打造十页完美商业计划书
- MFC动态添加控件及响应函数
- Sports Jerseys Supports Passionate
- try
- OpenJWeb快速开发平台-内容管理系统(CMS)
- WCF从理论到实践(14):WCF解决方案模板
- 马云语录——互联网成功的几条经验总结