MySql面试题(1)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 | 中文系 | 北京市昌平区 |

相关文档
最新文档