MySql面试题(1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、mysql如何创建一个库,添加一个表,在表中插入数据。
CREATE DATABASE database_name;
CREATE TABLE table_name(
ID varchar (4) NOT NULL,
NAME varchar (50) NOT NULL
);
INSERT INTO table_name() VAULES();
2、mysql如何查询一个表中的所有数据?
SELECT * FROM table_name;
3、mysql如何给一个表添加完整性约束?
ALTER TABLE COMMENT ADD CONSTRAINT FK_comment_blog_id FOREIGN KEY (blog_id) REFERENCES table_name(id) ON DELETE RESTRICT ON UPDATE RESTRICT;
4、如何清空TabB表的数据
truncate table TabB;
5、如何登陆mysql数据库
MySQL-u username -p
6、如何开启/关闭mysql服务
service mysql start/stop
7、查看mysql的状态
service mysql status
8、如何显示数所有数据库
show databases
9、如何获取表内所有字段对象的名称和类型
describe table_name;
10、varchar和char的区别
Char是一种固定长度的类型,varchar是一种可变长度的类型
11、数据库事物属性有哪几种?
隔离性、持续性、一致性、原子性
12、mysql里记录货币用什么字段类型好?
NUMERIC和DECIMAL类型被MySQL实现为同样的类型,这在SQL92标准允许。
他们被用于保存值,该值的准确精度是极其重要的值,例如与金钱有关的数据。
13、mysql数据库索引类型都有哪些?
索引类型: B-TREE索引,哈希索引
14、mysql取得当前时间的函数是?,格式化日期的函数是?
取得当前时间用 now() 就行。
在数据库中格式化时间用DATE_FORMA T(date, format)。
15、mysql批量替换的SQL语句怎么写?
Update `dede_addonarticle` set body = replace(body,’oldvalue’,'newvalue’) 其中 dede_addonarticle 为你的表名。
body为字段名
16、mysql相比于其他数据库有哪些特点?
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,现在已经被Sun公司收购,支持FreeBSD、Linux、MAC、Windows等多种操作系统
与其他的大型数据库例如Oracle、DB2、SQL Server等相比功能稍弱一些
1)、可以处理拥有上千万条记录的大型数据
2)、支持常见的SQL语句规范
3)、可移植行高,安装简单小巧
4)、良好的运行效率,有丰富信息的网络支持
5)、调试、管理,优化简单(相对其他大型数据库)
17、mysql数据库是怎么备份的?
备份数据库:
mysqldump –user=root –password=root密码–lock-all-tables 数据库名> 备份文件.sql
恢复数据库:
mysql -u root –password=root密码数据库名< 备份文件.sql
18、数据库死锁概念
如果需要"修改"一条数据,首先数据库管理系统会在上面加锁,以保证在同一时间只有一个事务能进行修改操作。锁定(Locking)发生在当一个事务获得对某一资源的"锁"
时,这时,其他的事务就不能更改这个资源了,这种机制的存在是为了保证数据一致性。
19、实际操作
1).创建student和score表
CREATE TABLE student (
id INT(10) NOT NULL UNIQUE PRIMARY KEY ,
name VARCHAR(20) NOT NULL ,
sex VARCHAR(4) ,
birth YEAR,
department VARCHAR(20) ,
address VARCHAR(50)
);
创建score表。SQL代码如下:
CREATE TABLE score (
id INT(10) NOT NULL UNIQUE PRIMARY KEY AUTO_INCREMENT ,
stu_id INT(10) NOT NULL ,
c_name VARCHAR(20) ,
grade INT(10)
);
2).为student表和score表增加记录
向student表插入记录的INSERT语句如下:
INSERT INTO student VALUES( 901,'张老大', '男',1985,'计算机系', '北京市海淀区');
INSERT INTO student VALUES( 902,'张老二', '男',1986,'中文系', '北京市昌平区');
INSERT INTO student VALUES( 903,'张三', '女',1990,'中文系', '湖南省永州市');
INSERT INTO student VALUES( 904,'李四', '男',1990,'英语系', '辽宁省阜新市');
INSERT INTO student VALUES( 905,'王五', '女',1991,'英语系', '福建省厦门市');
INSERT INTO student VALUES( 906,'王六', '男',1988,'计算机系', '湖南省衡阳市');
向score表插入记录的INSERT语句如下:
INSERT INTO score VALUES(NULL,901, '计算机',98);
INSERT INTO score VALUES(NULL,901, '英语', 80);
INSERT INTO score VALUES(NULL,902, '计算机',65);
INSERT INTO score VALUES(NULL,902, '中文',88);
INSERT INTO score VALUES(NULL,903, '中文',95);
INSERT INTO score VALUES(NULL,904, '计算机',70);
INSERT INTO score VALUES(NULL,904, '英语',92);
INSERT INTO score VALUES(NULL,905, '英语',94);
INSERT INTO score VALUES(NULL,906, '计算机',90);
INSERT INTO score VALUES(NULL,906, '英语',85);
3).查询student表的所有记录
mysql> SELECT * FROM student;
+-----+--------+------+-------+------------+--------------+
| id | name | sex | birth | department | address |
+-----+--------+------+-------+------------+--------------+
| 901 | 张老大 | 男 | 1985 | 计算机系 | 北京市海淀区 |
| 902 | 张老二 | 男 | 1986 | 中文系 | 北京市昌平区 |
| 903 | 张三 | 女 | 1990 | 中文系 | 湖南省永州市 |
| 904 | 李四 | 男 | 1990 | 英语系 | 辽宁省阜新市 |
| 905 | 王五 | 女 | 1991 | 英语系 | 福建省厦门市 |
| 906 | 王六 | 男 | 1988 | 计算机系 | 湖南省衡阳市 |
+-----+--------+------+-------+------------+--------------+
4).查询student表的第2条到4条记录
mysql> SELECT * FROM student LIMIT 1,3;
+-----+--------+------+-------+------------+--------------+
| id | name | sex | birth | department | address |
+-----+--------+------+-------+------------+--------------+
| 902 | 张老二 | 男 | 1986 | 中文系 | 北京市昌平区 |