MySQL —— 常用语句

来源:互联网 发布:iphone备份到mac哪里 编辑:程序博客网 时间:2024/06/05 21:55

1、清空表中所有记录

TRUNCATE TABLE 表名;

2、删除表中某项记录

DELETE FROM 表名 WHERE 条件;

3、实现id自增长

AUTO_INCREMENT//默认从1开始增长()AUTO_INCREMENT=1  CHARSET=utf8;
CREATE TABLE man(    id int(16) NOT NULL AUTO_INCREMENT PRIMARY KEY,    name varchar(20),    did int(16),    FOREIGN KEY (did) REFERENCES department(did))AUTO_INCREMENT=1;

每当插入一条记录,即使不为id赋值,这条记录都会分配一个id,即使前面的记录删除了,这条记录的id也不会变

4、外键

FOREIGN KEY (tid) REFERENCES teacher(tid)

5、开启、关闭服务器

 service mysqld start service mysqld stop

6、

int(20)中20的涵义

7、对结果集排序

升序

SELECT * FROM man,department WHERE man.did = department.did ORDER BY department.did;

降序

SELECT * FROM man,department WHERE man.did = department.did ORDER BY department.did DESC;

8、自联接的一道题

题目:有两个表,一个是boy,另一个是girl,girl的表相比于boy的多了一个字段是boyfriend id(即对应boy的id),问如何找到有女朋友的boy,让它显示出来 进一步解释这个题:就好比boy有三个记录,A,B,C 而girl中有两条记录a,b她们的男朋友对应的分别是A,B。最后的输出结果就是A,B(因为C没有女朋友)

SELECT boy.name FROM boy,girl WHERE girl.bid = boy.id;

但是可能会出现一种情况,就是一个boy有多个女朋友,这里就需要用到GROUP BY或者DISTINCT

SELECT boy.name FROM boy,girl WHERE girl.bid = boy.id GROUP BY boy.name;SELECT DISTINCT boy.name FROM boy,girl WHERE girl.bid = boy.id;

9、多行子查询
*一般先写子查询再写子查询,承接上题,找出有女朋友的男生所在的部门名称和部门编号
先写子查询 ,得出有女朋友的男生的部门id*

SELECT DISTINCT boy.did FROM boy,girl WHERE girl.bid = boy.id;

再写子查询的基础上写主查询

SELECT * FROM department WHERE did in (SELECT DISTINCT boy.did FROM boy,girl WHERE girl.bid = boy.id)

10、linux下安装mysql

apt-get install mysql-server

11、mysql命令

1、连接mysql -uroot -p;如果用mysql -root -p 然后操作会报错    Ignoring query to other database;2、将sql导入数据库中mysqldump -u 用户名 -p 数据库名 > sql脚本的位置;3、显示数据库show databse;4、显示表use 数据库名show tables;5、创建数据库create database 库名 (不加“”或‘’)
0 0
原创粉丝点击